ANO 1 N° 2 * 2.00 REP. ARGENTINA
PROGRAMACION
PODEROSOS
ARCHIVOS Ú
HtVlhlA fñHA UWAHIUS Ot
EL SISTEMA
OPERATIVO DE
EL MODEM
Ya funciona en su nueva dirección: Cabildo 2027 - 1° piso Capital
Invitamos a los felices usuarios de
la TALENT MSX al curso gratuito
de introducción al fabuloso mundo
de MSX.
Participe del Cluo de Usuarios
de MSX y encuéntrese con sus
amigos que también tienen la
TALENT MSX, e intercambiará
programas, datos y chimentos.
Podrá probar todos los accesorios
de la línea MSX, ¡¡desde disketteras
hasta robots!!
Podrá ver y leer todo lo que le interese
sobre la norma MSX: catálogos,
libros y revistas de todo el mundo.
Todo con la seguridad, respaldo
y seriedad que sólo TALENT puede
brindarle.
¡Para inscribirse, no olvide traer su factura de compra!
ClubTalent
MSX es marca registrada de MICROSOFT CORPORATION.
tífl
%
dialogo - D. P.
Staf
f 1
9
AÑO 1 N° 2
Load
Director General
Ernesto del Castillo
Director Editorial
Cristian Pusso
Director Periodístico
Fernando Flores
Director Financiero
Javier Campos Malbrán
Arte y Diagramación
Fernando Amengual
Tamara Migelson
Coordinador
Ariel Testori
Redacción
Eduardo Mombello
Andrea Sabin Paz
Departamento de Avisos
Oscar Devoto
Departamento de
Publicidad
Guillermo González Aldalur
Departamento fotográfico
Víctor Grubicy
Load Revista para usuarios de MSX es
una publicación mensual editada por
Editorial PROEDI S.A., Paraná 720. 5 o
Piso. (1017) Buenos Aires. Tel.: 46-2886
. 49-7130. Registro Nacional de la Pro-
piedad Intelectual: E.T. M. Registrada.
Queda hecho el depósito que indica la
Lev 11.723 de Propiedad Intelectual.
Todos los derechos reservados.
Precio de este ejemplar: A 2
— c'esión: Calcotam. Fotocromo tapa:
Ce -mbia. Fotocomposición: Van Wa-
ve¡ren
Les t emplares atrasados se venderán
= precio del último número en circula-
ción.
z 23 la reproducción total o par-
: i :í los materiales publicados, por
! *-2 er medio de reproducción gráfi-
:: i-é tivo o mecánico, sin autoriza-
: e x--esa de los editores. Las men-
: i-rsze -modelo, marcas y especifica -
:*e= £ r 'eaiízan con fines informati-
za • 'rzvccs sin cargo alguno para
: :z íi t — cresas que los comerciali-
:=■ • : : = 'f presentan. Al ser informa-
z ~ í = 'evista no se respon-
:iz z»z ' : -siquier problema que
z . f : - z ¿ = ‘abricación, el fun-
: — tmz . z a aplicación de los
áslHHsy los «Supositivos descriptos .
La responsabilidad de los artículos fir-
— z z z z z z - z 50Z " z e exclusivamente a
sus autores
D S 2 T 2 - zzr e r Capital Martino, Juan
ze Garav 358 P.B Capital.
Dcstribu de' rrterior DGP Hipólito Yri-
gz.en *450. Capital Federal. T.E. 38-
9266 9800
umario
• Brazo robot
RBS-1
para computadoras MSX
(pág. 5).
• Todo el poder
de los archivos
Si hay algo que realmente
jerarquiza al sistema MSX
es su capacidad de almace-
namiento de datos. Y por
supuesto, si trabajamos so-
bre una unidad de discos,
nada más distinguido que el
DOS. No sólo nos permite el
diálogo con el resto de las
marcas MSX sino con una
parienta más antigua: la
IBM PC (pág. 6).
• El sistema
operativo de la
disketera ~
Continuamos viendo cada
uno de los comandos que
hacen del MSX-DOS una
herramienta de gran poten-
cia (pág. 10).
Informática
educativa
Hoy muchos se plantean la incorporación de las
computadoras en los institutos educativos argen-
tinos. El tema da lugar a distintos criterios, aun-
que hay coincidencia acerca de que transitamos
una etapa experimental. Hay quienes están tra-
bajando seriamente en este campo, como el Cen-
tro para el Desarrollo de la inteligencia, que utili-
za los equipos Talent MSX para difundir los múlti-
ples usos del computador. Pero quizá lo más im-
portante es que capacita y perfecciona al docen-
te, y apunta a que el profesional domine el uso de
nuevas herramientas. Porque no se puede tratar
esta cuestión solamente en términos de hardwa-
re. El equipamiento puede resultar inútil si maes-
tros y profesores no saben cómo aplicar la má-
quina y los programas.
Por eso resulta tan importante el esfuerzo que es-
tá realizando la empresa Telemática para que la
introducción de las tecnologías sea acompañada
por una inteligente formación de los educadores.
LOS EDITORES _
Nuevamente la empresa Telemática nos sorprende con
un importante desarrollo: el Modem TMX-510. Vere-
mos algunas de las características de este nuevo pro-
ducto (pág. 14).
• Programación
aplicada
Muchas veces pensamos
en la forma de acercar los
conocimientos del Basic a
los lectores que recién co-
mienzan en esta materia y
llegamos a la conclusión de
que la mejor forma de apren-
derlo es programándolo a
medida que lo necesitamos
(pág. 16).
• Programas
Jugando en tres dimensio-
nes (pág. 12) - Europa (pág.
18) - Agenda (pág. 23) - Di-
señador de pantallas (pág.
24) - Ladri (pág. 30).
• Secciones fijas
Noticias (pág. 4) - Trucos
(pág. 16) - Club de Usuarios
(pág. 22) - Raiting Soft (pág.
32) - Crítica de Libros (pág.
34) - Mailing (pág. 34).
RED NACIONAL
DE INFORMATICA
DEPO R T IVA
EL KEY-PAD DE TALENT
|f
uevamente TELEMATICA sor-
prende con un nuevo desarrollo
para la Talent MSX.
Se trata ahora de un teclado nu-
mérico con los diez dígitos decimales y una
tecla de ENTER. Está diseñadoparaser co-
nectado como un joystick a uno de los pór-
ticos que la Talent MSX posee para ese
fin.
Pero el Key-pad no viene solo, demostran-
do otra vez la seriedad y capacidad que ca-
racteriza a esta empresa.
; Ha desarrollado un soft de apoyo, que al-
macenado en disco, permite que el teclado
sea leído en todo momento. De esta forma
nuestra DPC-200 reconocerá (una vez car-
gado este programa) a los números pulsa-
dos en el key-pad de la misma forma que
reconoce a los números que incluye el te-
clado original.
De más está mencionar las utilidades de
este aparato, pero seguramente, una vez
que lo hayan adquirido, se olvidarán de la
primer fila de* teclado de la DPC-200.
Talent am tnx.íio
7 I 8 1
9
DEL
(Ai 5
6*
—
V 1 2-j
í 34
E
0
v
H
N
I
R
L.
TNX
-410 CS3
Durante una reunión que se llevó a cabo en el
Ministerio de Salud y Acción Social — Secre-
taría de Deportes — , la empresa Telemática, a
través de su gerente de ventas Juan C. Zahre-
belnyj, hizo entrega al Secretario de Deportes
Rodolfo O'Reilly y al Subsecretario del área
Osvaldo Otero, un equipo completo de compu-
tación marca TALENT MSX. Lo hizo en calidad
de colaboración para el inicio de las tareas de
exploración con vistas a una Red Nacional de
Informática Deportiva que en un futuro próximo
abarcará todo el territorio de la República.
E! equipo está compuesto poruña computadora,
una pantalla (T.V. color 14"), un drive de disque-
tes DPF 550; una caja de disquetes de 5 1/4” y
un modem para teléfono.
La Red Informática Deportiva será instrumen-
tada por la Secretaría de Deportes a través de la
Dirección Nacional de Promoción del Deporte y
la Recreación. El área de Deporte no sólo está
interesada en la modernización de los sistemas
de archivos y detección de recursos de infra-
estructura, físicos y humanos relacionados con
el deporte sino que tratará a través de la Red
Nacional de brindar a todo el país un modelo de
sistema educativo-deportivo para niños y ado-
lescentes. Los equipos terminales ubicados en
todas las capitales provinciales permitirán trans-
mitir y recibir información vital para este pro-
pósito.
Compu Prando
Av. de Mayo 965 - 1084 - Bs. As.
Tel.: 38-0295
CONOZCA LA
DIFERENCIA.
Talent
En el número anterior comentamos una de las novedades
de TALENT en materia educativa: la RED LOCAL EDU-
CACIONAL MINI-LAN.
Ahora incluimos algunas modificaciones.
Estas son: 1) Velocidad de comunicaciones: 30.000 bits/
segundo.
2) Costo adicional por estación alumno:
A 100.-
3) Costo adicional por estación maestra:
A 150-
HARDWARE
-EQUIPOS
.PERIFERICOS
-ACCESORIOS
SOFTWARE
-UTILITARIOS
-LENGUAJES
-GESTION
.EDUCACION
-JUEGOS
CURSOS
LIBROS
BRAZO ROBOT RBS-1 PARA
C O MPUT ADORAS MSX
a robótica está surgiendo co-
mo una de las ¡deas claves
para aplicar las nuevas tecno-
logías de fabricación de la dé-
: 5 z = presente. Es una tecnología mul-
t d sciplinaria que abarca los últimos
av anees en la tecnología de control por
mi crocomputadoras, programación,
~sica e ingeniería electrónica, mecáni-
ca y eléctrica. La integración de estas
disciplinas permite la generación de un
renacimiento en la tecnología de fa-
bricación.
Las mejoras en la productividad me-
cíante la automatización de las fábri-
cas, manufacturas computarizadas in-
tegradas, y la mayor posibilidad de tra-
bajar en medios hostiles son sólo la
punta del iceberg".
Presentamos el brazo
robot MSX RBS-I
El sistema RBS-I permite acceder a un
bajo costo a un sistema robótico muy
útil para ingenieros, maestros, es-
tudiantes técnicos para aprender y ex-
perimentar con robots.
Se puede manejar con cualquier com-
putador MSX y ayuda a convertirse en
uno de los innovadores del mañana en
robótica, automatización y control de
movimiento.
Producido por BaireSoft y Prosoft, el
diseño, la construcción y el software:
estuvo a cargo de Emilio D. Graffigna,
Roberto N. Tokuda y, Hugo D. Caro
En educación
Dado que RBS-I se conecta directa-
mente a impresora, las amplias facili-
cades de MSX permiten controlarlo
-oc todos los lenguajes disponibles
C estas máquinas, como ser MSX-
5-SIC MSX-LOGO, FORTRAN, LISP,
- I RTH etc. Une a la experimentación
— eca-ica" la introducción al mundo
cea n^eügencia artificial, con progra-
mas :.e: ^eden resolver problemas de
ta^x . movimiento con "Sentido Co-
mún
~5 r = crofesores que deseen de-
sarme ar un currículum sobre re-
caracícr • aceración de robots, RBS-I
es -na excelente herramienta.
Decido a su bajo costo, RBS-I puede
nacer sentir su presencia y enriquecer
¡as ciases de computación de escuelas
primarias, secundarias y universida-
des.
En la industria
Los ingenieros que deseen diseñar sis-
temas automatizados encontrarán en
el RBS-I una herramienta de prueba y
verificación muy útil.
La verificación y armado de sistemas
multi-brazo, la llamada "coreografía"
de producción, y las consideraciones
de programación se pueden probar,
contruír modelos, modificar y verificar
con RBS-I, a un costo realmente bajo
en comparación con sistemas de ma-
yor envergadura.
Descripción del producto
El sistema completo RBS-I para MSX
consta de:
• El brazo robot, construido en ma-^
teriales resistentes, de gran duración y
versatilidad y totalmente autoconte-
nido.
• Cable de conexión, que se coloca
directamente a la salida de impreso-
ra.
• Un cassette de programa, que per-
mite la programación desde MSX- BA-
SIC de secuencias y posiciones.
• Un manual teórico y de uso.
Especificaciones
Configuración: 4 grados de libertad,
movimientos: brazo, antebrazo, giro
torre y abrir/cerrar pinzas.
Motores:
4 servomotores Futaba SI 28, 3
Kg/cm.
Rango de movimientos:
Torre: +/— 180 grados
Antebrazo: +/— 45 grados
Brazo: +/- 90 grados
Pinza: 0 a 4,5 cm.
Capacidad de carga: 250/300
gramos
Velocidad: 0.24 seg/60 grados
Electrónica general:
Fuente: 6 V regulada/transformador
220 V/50 Hz
Rango de temperaturas: 0 a 45 °C
Dimensiones:
Altura máxima: 35 cm
Ancho: 7 cm
Largo base: 1 1 cm
El RBS-I —distribuido por Prosoft— es-
tará próximamente a disposición del
público quien podrá adquirirlo direc-
tamente en la red de Telemática, fabri-
cantes de la computadora Talent MSX.
Cabe destacar que es un desarrollo ín-
tegramente argentino, con el mínimo
material importado, empleando losde
mejor calidad para ser coherentes con
la filosofía del producto: "bajo costo y
elevado standard de calidad".
TODO EL PODER
DE LOS ARCHIVOS
Si hay algo que realmente jerarquiza al
sistema MSX es su capacidad de alma-
cenamiento de datos. Y por supuesto, si
trabajamos sobre una unidad de discos,
nada más distinguido que el DOS. Que
nos permite el diálogo con el resto de las
marcas MSX y con la IBM PC.
eguramente aunque sea muy
vaga, tenemos una idea de lo
que significan un archivo se-
cuencial y uno aleatorio.
Repasemos. El primero se caracteriza
porque la forma de acceso a él es es-
trictamente ordenada y ascendente.
Esto es: se leen o escriben los regis-
tros, uno detrás del otro sin poder ac-
ceder a uno lejano, sin "pasar" por
los anteriores.
Esta es la idea básica que rige a este
tipo de archivos.
Los llamados archivos aleatorios se
distinguen por permitir el acceso a
cualquiera de sus registros, simple-
mente invocando su número.
Así podremos acceder a cualquiera de
los registros de un archivo sin tener
que leer los anteriores.
Cuando los que saben crean un archi-
vo, lo hacen con alguna de estas dos
características. Es decir que si graban
uno en forma secuencial es porque así
han de leerlo luego, lo que no quiere
decir que su archivo no puede ser leído
o tratado como uno aleatorio.
Pongamos algo de luz en este asunto.
Un archivo es un archivo, ¿está claro?
Esto quiere decir que cualquier cosa
que se encuentre en el directorio de
nuestro diskette es un conjunto de nú-
meros y puede ser leído como tal, sin
importar si es un programa BASIC,
Assembler, el mismísimo MSX-DOS o
simplemente datos.
De esta forma podremos tomar tanto
como un archivo secuencial o como
uno aleatorio a cualquier paquete de
números que esté en el disco y tenga,
por supuesto, algún nombre.
Con eso nos sobra para considerarlo
un archivo.
Lo que cambiará en cada caso será el
significado que dicha lista de datos
tenga.
Seguramente si queremos interpretar
como texto a un archivo que corres-
ponde a un listado Assembler, el resul-
tado será la incoherencia más grande
del mundo, en la mayor parte del texto
que de allí se produzca.
Pero nos tiene que quedar en claro, que
con la diskettera debajo de un brazo y
el MSX-DOS debajo del otro, podre-
mos descuartizar cualquier cosa que
se encuentre en un disco en cuyo terre-
no gobierne un DOS más o menos de-
cente.
Podríamos profundizar en cada uno de
los temas de la forma más teórica ha-
ciendo una exposición magnífica, o
también tratar el asunto de la forma
más empírica, pero de ninguna de las
dos formas obtendríamos el resultado
esperado: que lo entendamos todos.
Así que vamos a experimentar en cada
una de las formas de manejo de archi-
vos conocidas, de forma tal de llegar a
algo concreto: la mayor aproximación
posible de la comprensión.
El trabajo secuencial
Para empaparnos de esta clase de tra-
bajo hemos creado un pequeño pro-
grama que se muestra en la figura 1 , y
sobre el cual basaremos nuestro pre-
tencioso estudio.
Antes que nada deberemos copiarlo tal
cual se encuentra en esa figura y gra-
barlo con el nombre que sugerimos y
de la siguiente forma: SAVE"SECUEN
1.ASC",A.
De esta forma el programa quedará
grabado en su forma ASCII. Que no es
más que grabar el código ASC 1 1 de ca-
da carácter que compone al listado in-
cluyendo la tecla de RETURN o ENTER
que aparentemente no figura en él; es
decir, no produce ningún carácter vi-
sible.
Recomendamos que antes de copiar el
listado se entre la instrucción sin nú-
mero de línea; SIDTH 32, a los efectos
de copiarlo sin errores ni modificacio-
nes, pues hasta la longitud de los REMs
tiene que ser la adecuada para que
nos entendamos.
Por el momento nuestro objetivo se li-
mita a tratar de crear un archivo numé-
rico cualquiera y leerlo.
Entonces analicemos línea por línea lo
que SECUEN1.ASC hará.
Le pusimos .ASC para diferenciarlo de
ios demás programas que están segu-
ramente grabados en forma comprimi-
da por medio de tokens (números que
simbolizan instrucciones BASIC).
En la línea 1 0 limpiamos la pantalla y la
preparamos para trabajar a su máxima
capacidad: 40 columnas.
Esto nos permitirá, en el momento de
ejecutar la instrucción FILES, tener
éste listado en tres columnas.
En los REMs de las líneas 20 y 30, el
carácter pleno que allí figura es el que
corresponde al de pulsar GRAPH P en
la DPC-200, más conocida porTALENT
MSX.
Debemos entonces crear un archivo
secuencial que nos permita escribir
datos numéricos en nuestro disco.
Luego, en la línea 50 usamos la ins-
trucción OPEN que abre un archivo
seguido del nombre. Le indicamos al
poner luego del FOR, que éste es de
"salida" de datos por medio del OUT-
PUT y que es secuencial.
Pues, de no poner el FOR OUTPUT o
INPUT la maquinóla asume que tra-
bajaremos en forma aleatoria.
Luego le indicamos que éste será el
archivo número 1 gracias al AS# 1 . Es-
ta cantidad (uno) es la única que nos
permite tener sin usar una instrucción
apropiada (MAXFILES) para aclarar
que usaremos mayor cantidad de ar-
chivos al mismo tiempo.
Para escribir entonces, 100 números
cualquiera bajo el nombre de AMA-
DEVS, se usa el bloque de las líneas
50, 60 y 70.
Por medio de la línea 60 se grabarán
números generados al "azar" entre 1
y 100.
Y en la línea 70, luego de terminar el
bucle se cierra el archivo 1 por medio
de la instrucción CLOSE #1. Avisán-
donos de ésto en la línea 80 y mos-
trándonos cómo quedó el directorio de
nuestro disco.
Hasta aquí todo está muy lindo. Vea-
mos entonces como quedó ésto gra-
bado en el diskette.
En la línea 100 volvemos a habilitar el
archivo AMAD E VS pero esta vez como
"entrada" de datos, difiriendo del an-
terior OPEN sólo en el comando FOR
INPUT.
En la siguiente línea limpiamos la pan-
talla y creamos una variable (X) que
nos ayudará a recordar el número de
registro que estemos leyendo.
La línea 130 es la encargada de avisar-
nos y dar por terminada nuestra incur-
sión en el disco si es que se ha termi-
nado el archivo. Esto se logra graciada
la instrucción EOF (End Of File) que so-
lamente requiere como parámetro al
número del archivo que queremos que
nos informe si terminó.
Así, si lo anterior no ocurre podemos
leer un registro valiéndonos de la ins-
trucción de la línea 140 que pondrá el
valor numérico que encuentre en la va-
riable A. Notemos, que si el valor bus-
cado es numérico, no es por otro mo-
tivo que el de haber elegido una varia-
ble de estas características para acom-
pañar al INPUT #1.
Hagamos pues correr este programa.
MSX
LA NORMA INTERNACIONAL
EN MICROCOMPUTACION
CONTADO A 495
PLANES DE FINANCIACION
APLICACIONES PARA:
•LA EMPRESA
• EL HOGAR
• EL PROFESIONAL
•LA ESCUELA
•JUEGOS
MINICOMP ui
ADEMAS DISPONEMOS DE:
MAIPU 862 (2000) ROSARIO
•INSTITUTO DE ENSEÑANZA PROPIO
Te: (041) 64*447
• LABORATORIO TECNICO PROPIO
63*091 y 21-1266
/
•ASESORAMIENTO A ESCUELAS
Luego de escuchar por unos segundos
el motor Mercedes de nuestro drive,
veremos el mensaje que nos anuncia
que ha terminado de grabar. Ahora sí
podemos pulsar alguna tecla y ver que
en cada uno de los 1 00 registros pode-
mos leer los números tal cual fueron
grabados.
Así que podemos usar esto en nues-
tros programas. Lo que no sabemos
hasta el momento, es cuantos bytes en
disco hemos ocupado con AMADEVS.
Comencemos pues a hacer las cosas
prohibidas. En primer lugar cambie-
mos el nombre del archivo a leer de la
línea 100 (AMADEVS) por el de SE-
CUEN1.ASC.
Corramos a partir de la línea 1 00 esta
nueva estructura, con GOTO 100.
Al referirnos a nuestro propios progra-
ma como un archivo secuencial, del
Figura 1
SE ALGUNA TECLA (CPAT3)
90 IF INKEY*="" THEN 90
100 OREN "AMADEVS" FOR INPUT AS#
1
110 CLS¡ X=0
120 X=X+1
130 IF EOF ( 1 ) THEN PRINT "SE TER
MINO EL ARCHIVO. " : CL0SE#1 : END
140 INPUT #1,A
150 PRINT "El registro n°";X;"co
njt i enes " ; A
160 IF INKEY*="" THEN 160
170 GOTO 120
Figura 2
BYTES: " ; LOF ( 1 )
70 GET #1
SO IF ASC ( A$) <48 THEN PRINT "REG
ISTRO N° " ; LOC ( 1 ) ; "=" ; ASC ( A$) : GOTO
100
90 PRINT "REGISTRO N° " ; LOC ( 1 > ; "=
"5 A*
100 IF LOC ( 1 ) =L0F ( 1 ) THEN CLOSEs
STOP
110 IF INKEY*="" THEN 110
120 GOTO 70
10 CLSsWIDTH 40
20
ORI O
mi
*
RABA JO CON ARCHIVO ALEAT
L
EN UNIDAD DE DISCOS DPF-
30
550 .
40 OPEN " AMADEVS " AS#1 LEN=1
50 FIELD #1,1 AS A$
60 PRINT "TAMAFSO DEL ARCHIVO EN
CLi
10
20 ’l
NCIAI
>: WIDTH 40
■TRABAJO CON
ARCHIVO SECUE
I:
EN UNIDAD DE DISCOS DPF-
" AMADEVS" FOR OUTPUT AS#
30
550."
40 QPF
1
50 FOR F=1 TO 100
60 PRINT #1, I NT ( RND ( 1 ) * 1 00 )
70 NEXT FsCLOSE #1
80 FILES: PRINT: PRINT "YA HE GRAB
ADO 100 NUMEROS EN SU DISCO. PUL
Pero como las líneas 60 y 140, contie-
nen como parte de sus instrucciones al
carácter ésto hace (por ser un de-
limitador de registros válido cuando se
usa la instrucción INPUT# para lec-
tura) que estas dos líneas ocupen dos
registros cada una.
Volviendo a nuestro archivo original
(AMADEVS), se presenta la inquietud
de ver que es realmente, byte por byte,
lo que quedó en el disco, y como es que
guarda un valor numérico cuando es
entrado por medio de un simple PRINT
#.
Para esto necesitamos alguna instruc-
ción que nos permita desmenuzar ade-
cuadamente un arreglo de esta natu-
raleza.
Y esto se puede hacer cómodamente
usando una forma de lectura aleatoria.
Así que...
que queremos leer simplemente valo-
res numéricos, lo que aparecerá acom-
pañando a cada registro será precisa-
mente un carácter cuyo código ASCII
tiene representación numérica.
En otras palabras, son todos los nu-
meritos que se encuentran en nuestro
listado Basic. Así podremos ver todos
los números de línea de nuestro listado
y los valores numéricos que en dichas
líneas se encuentren.
Para ver otro efecto interesante, cam-
biemos además, en las líneas 140 y
150, la variable A por A$.
Corramos nuevamente el programa con
GOTO 100, y veremos que los regis-
tros ahora contienen a las líneas de
nuestro programa original. Entonces
tendríamos que obtener de este tipo de
lectura 17 registros, correspondien-
tes a cada una de las líneas de nues-
tro SECUEN1.
El trabajo aleatorio
Copiemos el programa de la figura 2.
En primer lugar el OPEN de la línea 40
carece de especificación de modo, así
que, como decíamos antes, la compu-
tadora asume que trabajaremos con
instrucciones de acceso aleatorio.
En esa misma línea se especifica que
cada registro leído constará de un solo
byte (LEN=1).
La siguiente línea se encarga de crear
un campo o espacio de 1 byte llamado»
A$ dentro del buffer o espacio de me-
moria reservado para la comunicación
entre la máquina y el drive.
En la línea 60, el comando LOF (Len Of
File) nos da la longitud del archivo que
figura en el número 1 , en bytes.
Y ya por medio del GET #1 (línea 70),
pasa el primer carácter del archivo a
ese espacio (A$) que reservamos en
el buffer.
Por medio de las siguientes dos líneas,
diferenciamos los valores que en ASCII
representan números de los que no, fi-
jándonos si ellos sor? menores que 48
(valor ASCII que representa al 0) e im-
primimos los valores que tengan signi-
ficado numérico como tales y los que
no, tal cual figuran en el disco.
La instrucción LOC (LOCates) que se
usa en estas líneas, nos da el número
de registro que estamos leyendo.
Como seguramente hemos notado,
usando este tipo de lectura un registro
puede tener la longitud que a nosotros
nos sea más conveniente, esto es: no
existen delimitadores más que el fin
del archivo mismo.
La línea 100 es la encargada de verifi-
car cuando se termina la lista de datos
que estamos leyendo y así dar por con-
cluida la ejecución del programa.
Al correr (RUN) entonces a ALE AT0R1,
veremos que el archivo consta de 593
bytes y no de 1 00 como era de esperar.
Si vemos detenidamente, el primer re-
gistro es el carácter 32 que correspon-
de al espacio, el segundo y el tercero
corresponden al número 59, el cuarto a
un espacio, el quinto al carácter 1 3 que
es el token de RETURN o ENTER y el
sexto al 10 que significa LINE FEED,
que como carácter de impresora pro-
voca que se deje un renglón en blanco
antes de imprimir la siguiente línea.
Y esto se repite para cada número, así
que para grabar cada uno de estos se
utilizan 6 bytes en el disco.
Por supuesto sería mucho más econó-
mico, en cuanto al espacio utilizado,
que cada número entero no mayor de
255, ocupará un byte, así el archivo se-
ría seis veces menor.
Pero desgraciadamente, esto no es po-
sible si utilizamos un diálogo secuen-
cial para grabar este tipo de datos.
Por último veamos que es lo que ocu-
rre cuando cambiamos en la línea 40,
el nombre AMADEVS por el de ALEA-
TOR1.ASC.
Borremos también la línea 80 y vea-
mos qué pasa al correrlo.
Bueno, a esta altura el resultado de
stop ya es casi predecible por todos,
pero es bueno que experimentemos
con estas cosas, para familiarizarnos
con las instrucciones básicas que co-
mandan a estos dos modos de trabajo
con archivos.
Probemos entonces, cambiar por ejem-
plo, la longitud de los registros, el cam-
po reservado para su lectura y escritu-
ra en el buffer o agregar otra variable
para lectura, por supuesto refiriéndo-
nos a ALEATOR1.
En fin, hagamos todos los cambios que
seamos capaces de hacer, y experi-
mentemos, que es una de las mejores
formas de aprender, o por lo menos de
adquirir confianza en este tema.
Pág. 8
•.HJÉ4SOS-
jmtTARtDd
□a>üi*£iui£í^d¡
•AJAHEIEA
o
J?F1
WrJLTOGfUÜHA
co TtuosimÑtfs,
AiTO
Oi^J’FRTFESTO
VES)
DISTRIBUIDORES OFICIALES SPECTRAVIDÉO
Talent asm SVI
HARDWARE
AV. PUEYRREDON 1135 (1118) TeL: 821-5578
urr-Dou
EL SISTEMA
OPERATIVO
Continuamos viendo cada uno de los
comandos que hacen del MSX-DOS
una herramienta de gran potencia.
INEINPUT#: Esta instruc-
ción funciona en forma muy
P similar al 1 N PUT# . De hecho,
se la utiliza para leer un regis-
tro de 254 bytes o caracteres, de un
archivo abierto para uso secuencial.
Su diferencia real radica en la forma en
Í ue esta instrucción nos permite leer
icho registro. Pues, el único delimita-
dor reconocido por ésta es el llamado
retorno de carro, más conocido como
ENTER. Así esta instrucción leerá un
registro (cuya máxima longitud puede
ser de 254 caracteres) hasta que en-
cuentre el token o byte que representa
al ENTER, o bien finalice su capacidad.
Los parámetros que obligadamente
deben acompañar a ésta son: en pri-
mer lugar un número que ha de coinci-
dir con el del archivo abierto para este
fin y en segundo lugar una variable al-
fanumérica cualquiera en donde se de-
positará lo que se haya leído del drive.
Un ejemplo, entonces, tendría la si-
guiente forma:
UNE INPUT# 1 ,MARITO$
Si recordamos aquello que seguramen-
te leimos en el manual de la máquina,
que hablaba sobre las dos formas sim-
ples y posibles de grabar un programa
basic, entenderemos la aplicación que
sigue.
Por las dudas, recordemos que un pro-
grama puede ser grabado tanto en la
forma en que la computadora lo alma-
cena en memoria (forma que usamos
comunmente, CSAVE) como en su re-
presentación ASC 1 1 . Esto .es posible en
cassette gracias a la instrucción SAVE
(en su momento veremos como se ha-
ce ésto desde los comandos del DOS).
De esta forma al grabar, tanto en disco
como en cassette, un programa BASIC
en su formato ASCII, cada línea o re-
gistro terminará con el carácter corres-
pondiente al RETURN o ENTER.
Y esto nos permite pues leer un pro-
FIGl
10 UHEN "TIEMPO -DAT" AS#1
20 FIELO #1,10 AS A*
30 FOR F=1 TO 100
40 INPUT G
50 LSET A*=MKI*(G)
60 PUT #1 , F
70 NEXT F
90 CLOSE #1
Fo i^m i t ai . ASC
ÍO KEY OFF : CLEAR 600
20 CLSs FILES: PRINTs PRINTs PRINTs
PRINT
30 PRINT"Recordá que el program
a debe estar grabado como <
NOMBRE .ASC> . " : PRINTs PRINT: PRINT
40 MAXFILES=3:E*=CHR*<27> :DS=E*
+"G" s G*=E$+ " E " : GRAN$=CHR* ( 1 4 ) : CH
ICO*=CHR* (15): NGRAN*=CHR* (20) : NC
HIC0S=CHR*(18)
50 LPRINT NCHICO*;NGRAN*;E$; "H"
. E *. . CHR * ( 13) + CHR * ( 10) . E *. « A ,.
; CHR$ (11); E$; "2"
60 LINE INPUT "Entre el nombre
del programa a listar y el dis
ro aue lo contiene: ";A$
70 IF A*=“" THEN RUN
80 LPRINT D$+G*+GRAN*+A*;NGRAN$
+CHRS (13) +CHR* (10) +CHR* (10): A$=A
*+" -ASC"
90 OPEN A* FOR INPUT AS#1
100 IF EOF ( 1 ) THEN CLOSE #l:GOT
O 160
110 LINE INPUT# 1 , A$
120 FOR F=1 TO LEN(AS)
130 X=F/30:IF X-INT(X)=0 THEN L
PRINT CHR*(13)
140 LPRINT MID*(A*,F, 1) ;
150 NEXT F: LPRINT CHR$ (13) +CHR*
(10);: GOTO 100
160 LPRINT NCHIC0*;N6RAN*;ES; "H
";E*; "F"
grama de esta naturaleza como si fue-
ra un archivo secuencial, en el que
cada registro correspondería a una lí-
nea BASIC. ¿Para qué nos puede ser-
vir esto?
Bien, una de las aplicaciones que se le
puede dar, es la que surge de la necesi-
dad de imprimir los listados a distintos
anchos de columnas. Leyendo pues
cada línea del programa que queremos
listar por ejemplo en 10 columnas, po-
demos controlar la longitud del regis-
tro que saldrá por la impresora, sim-
plemente cortándola en la variable que
acompaña a LINE INPUT.
Esto justamente es lo que hace el pro-
grama "Formita.ASC" que acompaña
a esta nota. Los caracteres especiales
que acompañan a los LPRINT corres-
ponden a los de una impresora Brother
M-1Ó09, pero seguramente nos dare-
mos maña (si es que no coinciden) para
buscar el reemplazo de éstos en la im-
presora de que dispongamos.
LOAD: Sobre esta instrucción no hay
mucho que decir. Se la utiliza, como
era de esperar, para cargar programas
escritos en BASIC.
Veamos algunos ejemplos de sus dis-
tintas posibilidades.
LOAD "MEME": cargará el programa
MEME desde el drive A.
LOAD "BRUJAS", R: cargará y ejecu-
tará el programa BRUJAS del drive
A.
LOAD "B:KDTS": cargará el programa
KDTS del drive B, si es que tenemos la
fortuna de poseer un segundo drive, o
mejor dicho si tenemos la fortuna para
poseer un segundo drive...
Es bueno notar que este comando nos
permitirá leer desde un disco, tanto un
programa grabado en formato "stan-
dard" como uno grabado en formato
ASCII.
LSET y RSET: Antes de ver para
qué se las utiliza, aclaremos algunas
cosas.
Un archivo de acceso aleatorio tiene
por supuesto distintas instrucciones
de carga y lectura asociadas, a las de
un archivo secuencial.
Las instrucciones (tanto de lectura co-
mo de escritura en disco) asociadas a
los archivos de acceso aleatorio traba-
jan asociadas al llamado buffer o aguan-
tadero provisorio de datos.
En este aguantadero, por ejemplo, se
detienen a esperar los datos que que-
remos pasen al disco hasta que el dri-
ve diga: "estoy listo".
Pero este lugar o banco de memoria
llamado buffer, no es una bolsa de pa-
pas en donde se tira la información a
guardar en forma desordenada y a mon-
tones, como casi todo, tiene sus re-
glas.
Estas reglas son las que vimos cuando
hablamos de la instrucción FIELD.
Veamos un ejemplo entonces, de lo
que hacen estos dos comandos.
Supongamos que hemos definido un
campo en el buffer llamado A$, cuya
longitud es de 20 lugares, y la palabra
que queremos guardar tiene una longi-
tud menor que la reservada, por ejem-
plo "ANDI", entonces estas instruc-
ciones se comportarán como sigue:
LSET A$="ANDI" llenará con espa-
cios los siguientes 1 6 lugares a ANDI,
V' RSET A$="ANDI" cargará en A$ 1 6
espacios en blanco y luego completará
los siguientes 4 lugares con "ANDI".
Este proceso se llama justificar a de-
recha o a izquierda.
También puede usárselas en combina-
ción con la impresora o la pantalla, pe-
ro su funcionamiento es levemente dis-
tinto, veamos.
Supongamos que en la variable CRIS-
TIAN$ tenemos almacenados 30 es-
pacios, si efectuamos l.a instrucción:
RSET CRISTIAN$="FERNANDO" y
luego imprimimos CRISTIAN$ por pan-
talla o impresora, veremos que se de-
jan los 22 espacios libres correspon-
dientes al resto de los 30 y luego la pa-
labra FERNANDO.
Si en cambio efectuamos la instrucción
LSET CRISTIAN$="FERNANDO" se
imprimirá en primer lugar la palabrita
"FERNANDO" y luego los 1 6 espacios.
MAXFILES: Esta es una de las va-
riables peculiares del DOS.
En ella se "almacenará" el valor numé-
rico correspondiente a la cantidad má-
xima de archivos que usaremos a la vez
en un programa nuestro, tanto de lec-
tura como de escritura.
El rango de valores posibles de MAX-
FILES es de 0 a 15.
Si efectuamos, por ejemplo: MAXFI-
LES=12 podremos usar a la vez esa
cantidad de archivos.
Si el valor de esta bendita variable es
cero, sólo podremos usar las instruc-
ciones SAVE y LOAD, para manejar ar-
chivos.
Si no especificamos otra cosa, nor-
malmente, desde la iniciación del sis-
tema, MAXFILES tendrá el valor 1, con
el consabido efecto.
MERGE: Se usa para agregar un pro-
grama BASIC grabado en ASCII y re-
sidente en disco, al programa BASIC,
también, residente en el momento de
llamarlo en la memoria de la máquina.
Si alguno de los números de línea del
programa que tenemos en memoria
coincide con el del programa que se
está mezclando desde disco, esta últi-
ma no será cargada.
Como ejemplo podríamos ejecutar lo
siguiente: MERGE "GONZALO" siem-
pre y cuando el programa "GONZALO"
esté grabado en el disco en forma
ASCII.
ÑAME: Sirve para cambiarle el nom-
bre a archivos existentes en el directo-
rio de nuestro diskette.
Así, ÑAME "CLAUDIO" AS "CORTA-
ZAR" le cambiará el nombre al archivo
existente en el disco, cuyo nombre era
CLAUDIO por el de CORTAZAR.
El programa o archivo en sí no es toca-
do en absoluto, sólo su nombre.
OPEN: Esta sentencia permite inter-
actuar con la diskettera de varias for-
mas y con varios tipos de archivos.
La forma general que toma ésta junto a
sus parámetros es:
OPEN "nombre del archivo" FOR mo-
do AS # número asignado LEN=longi-
tud.
Donde "modo" corresponde a la pala-
bra que identificará al tipo de archivo
que por medio de esta instrucción se
está habilitando, y que puéde ser: OUT-
PUT, INPUT, APPEND o simplemen-
te riada.
El modo OUTPUT define al archivo en
cuestión, como de salida de datos que
serán grabados unos tras otros en for-
ma secuencial.
El modo INPUT define al archivo de la
misma forma que el anterior pero para
entrada de datos desde la unidad de
discos.
El modo APPEND al igual que los ante-
riores define al archivo como secuen-
cial y permite añadir registros a un
archivo de esta clase ya existente en
el disco.
Si simplemente se omite la frase "FOR
modo", la computadora asume que el
archivo que se está definiendo será
tanto de lectura como de escritura en
disco y que el acceso será aleatorio.
El número que figura luego del símbolo
numeral identificará al archivo, y debe
estar comprendido en el rango que se
haya especificado en la variable "MAX-
FILES".
Por último, longitud' es un número en-
tero, que de ser puesto junto a 'LEN='
indica la longitud que tendrán los re-
gistros.
Este puede variar entre 1 y 256. Sólo se
lo puede utilizar en archivo del tipo de
acceso aleatorio.
Debemos tener en cuenta que si abri-
mos un archivo para salida de datos en
forma secuencial, y existía otro con el
mismo nombre, este último será des-
truido.
Otra de las facilidades es la de poder
tener un mismo archivo abierto para
lectura en forma secuencial con un de-
terminado número y, con otro núme-
ro, tener abierto a la vez este mismo en
forma aleatoria.
PRINT# y PRINT# USING: Tan-
to la primer instrucción como la segun-
da, se utilizan para enviar datos a la
unidad de discos en forma secuencial.
Veamos con ejemplos como trabajar
con ella:
PRINT #1 ,OSCAR; PATRICIA graba-
rá en el archivo número 1 del disco el
contenido de las variables OSCAR y
PATRICIA.
PRINT #, OSCAR$;PATRICIA$ gra-
bará en el archivo correspondiente el
contenido de esas dos variables alfa-
numéricas. Si, OSCAR$="Editorial" y
PATRICIA$="PROEDI" en el disco la
información quedará como Editorial
PROEDI.
Así, cuando leamos por medio de la
instrucción INPUT#1,A$ en esta va-
riable quedará almacenado Editorial
PROEDI.
Si en cambio OSCAR$="Editorial;' y
PATRIC!A$=" PROEDI" en el disco
quedará lo siguiente: Editorial, PROE-
Dl.
Luego cuando leamos por primera vez
con INPUT #1,A$ en esta última que-
dará "Editorial" y al hacerlo por segun-
da vez quedará PROEDI, pues la coma
es un delimitador válido.
El comando adicional USINT se pue-
de utilizar al igual que en pantalla para
formatear los datos a salir por impre-
sora.
RUT: Este es el comando que nos per-
mitirá colocar un dato en el buffer, pa-
ra luego ser mandado al disco en el
archivo de acceso aleatorio que se ha
abierto para tal fin.
En la figura 1 vemos un ejemplo 7 de
aplicación de esta instrucción. A esta
altura de los acontecimientos ya pode-
mos comprender su funcionamiento
perfectamente, sin más aclaraciones.
RUN: Este comando seguido del
nombre de un programa válido, hará
que éste se cargue en memoria y se
ejecute automáticamente.
Esta instrucción cierra todos los archi-
vos que hasta el momento de ejecutar-
la, hayan permanecido abiertos. Pero
si agregamos una 'R' luego del nom-
bre, éstos permanecerán abiertos.
De esta forma, RUN "TAMI",R dejará
sin tocar los archivos que se hayan
abierto hasta el momento, cargará el
programa "TAMI" y por último lo eje-
cutará.
SAVE: ¿A que no saben lo que hace
esta instrucción? ¿Cómo se dieron
cuenta? Así no me dan ganas de con-
tarle más nada.
Lo que a lo mejor no se han dado cuen-
ta es que si Juego del nombre que le
dimos al programa para grabarlo, le
agregamos una A, el programa será
grabado en su versión ASCII.
Al grabar de esta forma, lógicamente
se tarda más tiempo.
SYSTEM: Este es el nombre de la ru-
tina que nos permitirá entrar en un mo-
do editor de DOS, dentro del cual se
encuentran las instrucciones que ve-
remos en el siguiente número.
Dentro de la siguiente entrega vere-
mos también algunos comanditos que
se pueden usar también desde el intér-
prete BASIC.
JUGANDO EN
TRES DIMENSIONES
Clase: educativo
Una de las aplicaciones
más interesantes en má-
quinas dotadas de una ca-
pacidad gráfica considera-
ble, es la exploración de la
tercera dimensión.
Los gráficos en 3-D, además
de su utilización práctica,
logran sensaciones estéti-
cas sumamente atractivas.
Puede volverse un juego el
hecho de crear nuevas for-
mas o vistas modificando
parámetros y funciones, in-
cluso sin introducirse en la
búsqueda de nuevos méto-
dos de perspectiva.
Para los que siempre están
a la búsqueda de nuevas
emociones, o para los que
quieren comenzar a experi-
mentar con formas nuevas
de dibujar con la computa-
dora, les ofrecemos aquí
dos graficadores muy espe-
ciales.
El primero muestra una
perspectiva isométrica de
la función especificada en
el programa, en base a dos
parámetros de entrada:
"XMAX" e "YMAX", que
determinan el rango en que
será evaluada la función . Se
evalúa entre 4- - el valor
ingresado (por ej: Si en
"XMAX" se ingresa 5, se
evalúa entre 5 y -5).
En primer lugar, la función
es calculada y graficada
simultáneamente en un sen-
tido, y luego se barre en el
otro, con los valores ya cal-
culados.
Podemos modificar los án-
gulos de los ejes de la pers-
pectiva alterando en la línea
20 los valores de "AY" y
"AX", que van expresados
en radianes.
Para cambiar la función de-
bemos escribir la nueva a
partir de la línea 2000, con
el resultado en "Z", usando
como variables "X" e "Y", y
finalizando con un RETURN
Es muy importante que el
valor de la función en todo
punto a evaluar no sobrepa-
se -15 o -j- 15 y no sea
demasiado pequeño porque
no se vería con claridad.
De todos modos experi-
menten cambiando todo lo
que quieran, aunque los re-
sultados puedan ser catas-
tróficos. Ahí es donde está
la verdadera diversión.
El segundo programa utiliza
un método de visualización
muy particular, ya que aquí
no existen perspectivas, si-
no que la función está vista
desde arriba, y las diferen-
cias de altura están indica-
das por distintos colores.
La forma de suministrarle
los rangos y la función es la
misma que en el caso ante-
rior, pero el valor de la fun-
ción no debe estar fuera del
rango de 1 a 15,99.
Aun cuando la función y los
límites sean los mismos,
notarán que el efecto logra-
do es totalmente distinto en
cada uno de los programi-
tas.
Jueguen y diviértanse con
esto, mientras nosotros de-
sarrollamos nuevos entre-
nimientos.
Fabian Jofré
y Martin Salías
(Club de Usuarios)
10 COLOR 15,4,4
1010 XX=CX*X*EX-CY*Y*EY+ 1 27
30 DIM GX <21, 40 ) , GY (21, 40 )
1020 RE T URN
30 AY=,9: AX=.5:SX=SIN(AX) : CX=CGS
2000 Z=-C0S (SOR (X*X+Y*Y) ) *10
(AX) :SY=SIN(AY) :CY=C0S(AY>
2010 RETURN
40 INPUT n XMAX n i B
10 COLOR 15,1,1
50 INPUT ,, ymax ,, ;d
20 CLS
60 a=-b:c=-d:ex=50/b:ey=50/d
30 DIM CO (15)
70 SCREEN 2
40 FOR A=1 TO 15 : READ C0(A):NEXT
30 FOR X=A TO B STEP (B-A)/20
50 INPUT ” XMAX 11 ? B
90 Y=C
60 INPUT "YMAX" ?D
100 GOSUB 2000
70 A=-B:C=-DIEX=50/B:EY=50/D
110 GOSUB 1000
SO SCREEN 3:RY=-4
120 PSET ( XX , Y Y )
90 FOR Y=C TO D STEP (D-C)/192*4
130 RX=RX+1
100 RY=RY+4
140 RY=0
110 RX=0
150 FOR Y=C TO D STEP (D-O/40
120 FOR X=A TO B STEP (E-A)/Ó4
160'’ GOSUB 2000
130 GOSUB 1000
170 GOSUB 1000
140 PSET <RX*4,RY) ,C0(Z)
130 GX < RX , RY ) =XX
150 RX=RX+ i
190 GY (RX, RY) =YY
160 NEXT X , Y
200 RY=RY+ 1
170 GOTO 170
210 LINE -(XX, YY)
180 DATA 1,4,12,6,13,5,3,2,3,7,
220 NEXT Y , X
9,10, 11,14, 15
230 FOR Y=0 TO 40 STEP 2
1000 Z=C0S <SQR(X*X+Y*Y) )*7+8
240 PSET ( GX ( 1 , Y ) , GY ( 1 , Y ) )
250 FOR X= 1 TO 21.
1010 RETURN
260 LINE - ( GX ( X , Y ) , G Y ( X , Y ) )
Z=C0S (X+Y)*7+8
270 NEXT X , Y
Z=C0S (SQR(X*X*X-Y*Y) )*7+8
230 GOTO 230
1000 YY=Z-SX*X*EX-SY*Y*EY+87
Q=SSR(X*X+Y*Y) :Z=CÜS(Q) /Q*7+8
A LA COMPUTADORA PERSONAL
Talentfísm
NADA LE ES IMPOSIBLE ...
... y para que todo
0 provisión del hardware
tanto de la consola
como todos los
periféricos y accesorios.
0 la instalación y la
puesta en marcha.
Se han asociado para brindarle una red
de solidaridad y atención, los siguientes
concesionarios amigos ¡
le sea posible a Ud. en:
° soft utilitario
° soft para la educación
° soft comercial
AVELLANEDA
ARGOS S.A.
Avda. Mitre 1755 fCP 1870) Tel. 203-5227
CAPITAL
COMPUTRONIC S.A.
Viamonte 2096 (CP 1056) Tel. 46-6185
CASTELAR
HOT BIT COMPUTACION
Carlos Casares 997 (CP 1712) Tel. 629-2247
SAN ISIDRO
F. CORATELLA S.R.L.
Cosme Beccar 249 (CP 1642) Te. 743-0734
1
T
L MODEM
M X
5 10
DE TALENT
FIGURA 1
300 BAUDIOS norma CCITT ORGI-
NATE FULL DUPLEX
300 BAUDIOS norma CCITT AIMS-
WER FULL DUPLEX
300 BAUDIOS norma BELL ORIGI-
NATE FULL DUPLEX
300 BAUDIOS norma BELL ANSWER
FULL DUPLEX
1200 BAUDIOS norma CCITT HALF
DUPLEX
Nuevamente la empresa Telemática nos
sorprende con un importante desarro-
llo: el Modem TMX-510. Veremos algu-
nas de las características de este nuevo
producto.
La memoria del modem
Esta caja mágica posee tres bancos de
memoria de lectura solamente
(EPROM) de 16 Kbyte cada uno y un
cuarto chip de las mismas característi-
cas de 32 Kbytes.
En ellos se almacena todo el software
necesario para que la comunicación
sea posible y todo lo necesario para
agregar las nuevas instrucciones BA-
SIC que comandarán a esta cajita.
Al encender nuestra MSX, estando co-
nectada a ella, se inicializará de forma
tal que queda lista para acceder a es-
te sistema.
ste novísimo periférico nos
permitirá desarrollar una de
las más gratas actividades en
materia informática: la Tele-
mática.
Podremos comunicarnosc con él con
otras máquinas o terminales, o con
base de datos nacionales o extran-
jeros, a través de una línea telefónica
común.
Las señales digitales que genera nues-
tra computadora, son transformadas,
gracias a éste, en analógicas que son
envueltas poruña portadora modulada
en frecuencia.
En el otro extremo de la línea es nece-
saria la presencia de otro modem que
se encargue de traducir esta cola de
datos codificados analógicamente en
señales digitales.
el diálogo entre dos módems puede
establecerse de dos formas:
Half dúplex (transmisión de datos en
un sentido a la vez).
Full dúplex (transmisión de los mismos
en dos sentidos a la vez).
En el primero de estos modos, antes de
transmitir un dato, el modem "transmi-
sor" debe verificar que el "receptor"
esté en modo "escucha" y luego trans-
mitir.
Es necesario pues que se den inversas
condiciones, para lograr la comuni-
cación en sentido opuesto.
La forma full dúplex permite que la
transmisión y recepción sean simultá-
neas. Usando para ello portadoras de
distinta frecuencia para que no se pro-
duzca errores.
Para que este tipo de comunicación
sea posible es menester que alguno de
los equipos sea definido como ORIGI-
NATE (que origina) y el otro como
ANSWER (que responde).
Es bueno recordar que TALENT MSX
responde a las normas CCITT y BELL
que se han adoptado mundialmente
para las transmisión de datos entre
equipos de esta naturaleza.
Las velocidades de transmisión dispo-
nibles son las que se ven en la figura
1 .
El canal de comunicaciones.
Este se abre por medio de la instru-
cción OPEN de la forma que sigue:
OPEN "COM(n):" (FOR (modo) AS ( )
(n: número de archivo))
Así, ésta abre un canal de comuni-
caciones para su posterior proce-
samiento, definiendo un campo el buf-
fer (bloque de memoria destinado para
tal fin) de 128 bytes y prendiendo la
portadora del modem.
"Modo" define si es salida secuencial
o entrada secuencial. Si este "modo"
no es especificado, el modem queda
preparado para trabajar en ambos sen-
tidos al mismo tiempo.
El número de archivo representa lo
mismo que en cualquier otro archivo.
Entre las instrucciones nuevas que el
uso de éste requiere, se encuentra:
SAVE "COMn:", a
que permite enviar un programa BA-
SIC a través de la línea. Si al final de la
instrucción se especifica el comando
"a" éste será enviado en su forma
ASCII. De otra forma el programa via-
jará tal cual se encuentra en memoria
(instrucciones en tokens).
Aclaramos que "n" es el número de ca-
nal asignado a la transfusión.
Lo que no es posible enviar es el nom-
bre del programa como tal.
También están disponibles las instru-
cciones LOAD y MERGE, que funcio-
nan de forma similar.
Los que siguen son algunas de las lla-
madas (CALLs) a subrutinas internas:
CALLCOMINI: inicializa los pará-
metros que regirán al modem.
CALL COMON: habilita la ge-
neración de una interrupción cuando
es recibido un carácter del canal de co-
municaciones especificado.
CALLCOMOFF: deshabilita las in-
terrupciones que validaba CALL CO-
MON.
CALL COMSTOP: deshabilita la
posibilidad de guardar cada carácter
recibido en el buffer de comunicacio-
nes indicado.
CALL COM: define la línea de co-
mienzo de la subrutina hacia donde se
producirá el salto del programa, cuan-
do se genere una interrupción debido a
la llegada de un carácter por el canal de
comunicaciones.
CALL COM BREAK: envía un cará-
cter que significa en el lenguaje de los
módems, detener la transmisión.
CALL COMTERM: este comando
permite emular una terminal de comu-
nicaciones.
Existen algunas más, pero Creemos
que con estas basta para mostrar lo
que es capaz de realizar esta cajita má-
gica.
Este es otro de los pequeños pasos que
permiten lograr grandes cosas.
No puede ser de otra forma, pues este
desarrollo mejora y activa la saludable
costumbre de la cultura, acortando las
distancias de la divulgación.
Por último, en la figura vemos un plano
de las dimensiones físicas de este
aparato.
NOSE QUEDE SIN SU
Talent MSX
...y congele precios.
SERVICIOS EN INFORMATICA
CAPITAL: PARANA 164 (1017) TEL : 35-3329/1 631 /0832
VICENTE LOPEZ: Av. LIBERTADOR 882 (1638) _
COMPUTADORAS
PERSONALES
^Scommodore
MICRODIGITAL
SINCLAIR
ACCESORIOS Y SOFTWARE PARA LAS MISMAS
RIVADAVIA 13734 Ramos Mejía (1704) Tel.: 654-6844
Matemática
MSX
Estas son las fórmulas de
las funciones matemáticas
más usadas.
Secante
SEC (X)=1/COS(X)
Consecante
CSC(X)=1/SIN(X)
Cotangente
COT(X)=1 /TAN(X)
Arco seno
ARCSIIM(X)=ATN(X/SQR(—
X*X+1))
Arco coseno
ARCCOS(X)=-ATIM(X/SQR
(— X*X+1 ))+1 .5708
Arco secante
ARCSEC(X)
=ATN(X/SQR(X*X-1 ))+
SGN(X)-)* 1.5708
Arco cosecante
ARCCSC(X)
=ATI\I(X/SQR(X*X-1 ))+
(SGN(X)— 1)*1 .5708
Arco cotangente
ARCCOT(-X) =
=ATN(X)+1 .5708
Seno hiperbólico
SIN H(X)={ EXP(X)— EXP
(-X))/2
Coseno hiperbólico
COSH(X)=(EXP(X)+EXP
(-X))/2
Tangente hiperbólica
TANH(X)
=(EXP(X)— EXP(— X))/EXP
(X)+EXP(— X))
Secante hiperbólica
SECH(X)=2/(EXP(X)+EXP
(-X))
Secante hiperbólica
CSCH(X)=2/(EXP(X)— EXP
(-X))
Cotangente hiperbó-
lica
COTH(X)
=(EXP(X)+EXP(— X))/(EXP
(-X))
Arco seno hiperbó-
lico
ARC- SINH(X)=
=LOG(X+SQR
(X*X+1))
Arco coseno hiperbó-
lico
ARCCOSH(X)=LOG(X+
SQR(X*X-1))
Arco tangente hiper-
bólica
ARCTAN H(X)=LOG(( 1 +X)/
(1 X))/2
Arco secante hiperbó-
lica
ARCSECH(X)=LOG((SQR
(-X*X+1)/X)
Arco secante hiperbó-
lica
ARCCSCH(X)=LOG((SGN
(X)*SQR(X*X+1 )+1 )/X)
Arco cotangente hi-
perbólica
ARCCOTH(X)— LOG((X+1 )/
(X— 1))/2
Títulos y
explicaciones
Los comentarios que se uti-
lizan en los programas, so-
bre el manejo y utilidad de
los mismos, aparecen de
una forma muy tradicional.
Generalmente son frases
que de golpe se ven sobre la
pantalla.
Pero es hora que rompamos
con las formalidades de pre-
sentación de los programas.
Por eso aquí proponemos
dos formas un poco más
originales. Una de ellas coin-
cide en hacer imprimir los
comentarios y aclaraciones
necesarios de un programa
•como si estuvieran desfilan-
do a lo ancho de la pantalla.
Pero si bien es vistosa, es un
poco dificultosa para leer.
Esto se soluciona incremen-
tando el tiempo de espera
hasta que aparezca la próxi-
ma letra.
En el programa de la figura
uno, el FOR de la línea se-
tenta es el resultado para
permitir leer las palabras. Si
necesitamos más tiempo
para poder leer, se puede
cambiar el tope 30 de esa
línea por cualquier otro va-
lor. De esta manera conse-
guiremos que las palabras
no huyan de nuestra visual.
Otra manera original de ha-
cer presentar las explicacio-
nes es que suban desde la
parte inferior de la pantalla,
de una forma muy similar a
la que se suele ver cuando
las películas anuncian a los
actores. En la. línea 60 del
programa de la figura dos, se
realiza el centrado de la ca-
dena a imprimir.
En la línea 30 se declara la
pantalla de 40 caracteres de
ancho. Por este motivo el
razonamiento para hacer
centrar la cadena es dividir
la longitud de la misma por
la mitad y restárselo a la
mitad de la pantalla. El resul-
tado sería entonces la canti-
dad de caracteres libres so-
bre el margen izquierdo. Lue-
go se imprime la variable
alfanumérica.
En el DATA de la línea 90, se
pueden agregar tantas pala-
bras como sean necesarias,
pero la cantidad de cadenas
de caracteres debe coincidir
con el tope del FOR de la
línea 40.
Si este número es menor
que la cantidad de datos a
leer, sólo aparecerá en la
pantalla el número de veces
que se incremente el FOR
Pero si el número del FOR
supera al de datos, aparece-
rá en la pantalla un mensaje
de error.
MSX es un
cuentavuelta
Para aquellos que tengan
grabador sin contador, les
proponemos un método
para encontrar un programa
y usar la computadora como
contador.
Antes de introducir la ins-
trucción SAVE, inicialice-
mos el reloj interno de la
computadora en cero y des-
pués sí ya podemos entrar la
instrucción para grabar.
Al terminar de salvar el pro-
grama en cinta, pidamos
que imprima el valor TIME.
Con esto sabremos cuánto
tiempo dura el pasaje del
programa por el grabador.
No hace falta introducir
estas instrucciones con un
número de línea, basta con
entrarlas de la siguiente ma-
nera:
TIME=0: CSAVE " nombre":
PRINT TIME
Para cargar un programa,
usemos la siguiente subru-
tina:
65000 TIME=0: MOTOR
ON
65010 IF TIMEFnum THEN
MOTOR OFF: GOTO 65040
65020 GOTO 65010
65030 CLOAD "nombre":
PRINT TIME
donde num equivale al tiem-
po que debemos dejar correr
la cinta antes de leer algún
programa, "nombre" res-
ponde al programa que que-
remos leer.
Bien
aleatorios
Si bien es cierto que la fun-
ción RND galera números
aleatorios, también es ver-
dad que siempre es la mis-
ma secuencia de números.
Pero si conseguimos intro-
ducir la variable TIME, al
ser ésta una variable que
cambia de valor 50 veces
por segundo, nos permitirá
obtener verdaderos valores
al azar.
Por ejemplo X=INT (RND
(TIME)*A)-M
Esta instrucción genera va-
lores entre 1 y A.
Figura 2
1 Q 1 ..... v* vi;. J r ,Ü r~í D M S X i* : 1 1
: - J O L.- 1~. iZ. Í2L i 'h v
/s.f) pi jO T — i Tfj- 4
bU ftb.H.ü A é>
60 LOCATE 20 - (LEW <A$) /2) , 24
A* SPRINT CHR$ < 10) s
cíí-j ]“iATA ESTO ? NO? PE" U DE? SEGUIR
Figura 1
10 REM ** LOAD MSX**
20 CLS s COLOR 1,7: SCREEMO : W I DTH 40
30 PANTALLA UTILIZANDO LAS POSIBILIDADES
DE MID* ESTO ES UN DESFILE DE TEXTO'
EN LA PANTALLA UTILIZANDO LAS POSIBILIDADES
DEL MID$"
40 P=41
50 LOCATE 0,10
60 PRINT MID*(A*,P,40)
70 FOR F=1 TO 30: NEXT
SO P=P+1
90 IF P—LEN ( A$ ) —4 1 THEN P=1
100 GOTO 50
CQMPUPRANDO S.C.A.
Av. de Mayo 965
(1085) Capital
Te.: 38-0295
COMPUSHOP S.A.
Córdoba 1464
(1055) Capital
Te.: 41-8730-42-9568
49-21 65
ARGECINT S.R.L
Ventura Bosch 7065
(1408) Capital
Te.: 641-0327/4892
641 -3051
CP 67 CLUR S.A.
Florida 683 Loe. 1 8
(1005) Capital
Te.: 393-6303
'
M1CR0STAR S.A.
Callao 462
(1022) Capital
SIST. LOGICAL S.R.L.
Esmeralda 561 3° B
(1007) Capital
Te.: 393-7669
Te.: 45-0964/1662
(AREA EDUCATIVA
UNICAMENTE)
DIST. CONCALES S.A.
Tucumán 1458
(1050) Capital
Te.: 40-8664/0344
NIICROMATICA S.R.L.
Av. Pueyrredón 1135
(1118) Capital
Te.: 821-5578
I
Este programa es de gran
utilidad para aquellos que
deban estudiar las capitales
de los países de Europa.
La tarea puede resultar abu-
rrida para los que deban
recurrir a tediosos libros.
Pero este es un juego tan
divertido y ameno que nos
permitirá desafiar a cual-
quier profesor hasta que se-
guramente lo derrotaremos
en alguna capital (como la
de Islandia).
El juego no sólo nos informa
sobre una ciudad sino que
también nos muestra la ubi-
cación geográfica de la mis-
ma en el mapa. Así, primero
nos preguntará por la capi-
tal, nos dirá si supimos con-
testar y en caso contrario
nos corregirá.
Además, nuestra maquinita
se siente lo suficientemen-
te inteligente y no cree que
conozcamos la bandera de
dicho país. Por lo que trata-
rá de humillarnos mostrán-
donos el símbolo patrio de
cada país.
La aparición de los países
EUROPA
clase: educativo
está dada por la función
RND y esto hace que algu-
nas veces se repita más de
una vez la misma pregunta.
Dejamos para ustedes la
opción de modificar esto y
como sugerencia les acon-
sejamos guardar el número
del país elegido en una ma-
triz auxiliar de dimensión
28. Aunque vale aclarar que
los números ya están guar-
dados en una matriz. Cada
vez que se fije un número
como posible país a interro-
gar, se verifica que dicho
número no se encuentre en
la matriz auxiliar. Si el nú-
mero ya había salido se pre-
guntará por otro hasta ob-
tener uno distinto a todos
los aparecidos.
Otra variante posible sería
agregar una variable que
cuente las cantidades de
países que se nos preguntó
y en otra variable la canti-
dad de capitales que supi-
_ mos contestar correcta-
' mente.
Estructura del programa:
30-110in¡cializa la matriz con los países y otra para las
capitales
1 20*1 60 pantalla inicial de introducción
170-1 90 elige modo tres de pantalla y escribe Europa bien
grande sin tener que definir caracteres gráficos (este
es un ejemplo del uso del modo tres)
200-41 0 pregunta por la capital y verifica la respuesta,
acompañado por mensaje aclaratorio y música de
denota o de triunfo, según haya sido la contestación.
420-630 dibuja el mapa
640-^90 gráfica la bandera del país en cuestión y nos marca
en el mapa la ubicación geográfica del mismo.
Variables importantes
N$: matriz con los países
C$: matriz con las capitales
X ■ subíndice de la matriz con los países que fue elegido por el
RND en la línea 230
30 Din N$(28) ?C$(28)
f ( N* ü )=^pANIA !, :N$ (2) = w AUSTRIA* : N$ (3) = M BEL6ICA" : N$ (4) ^‘BULGARIA* : N$ (5) = ,, CHEC0L0VAQUI A" : N$ (6) -‘DINAMARCA" : N$ C7) = a ESPA“+CHR$ Í&HA5) +
m • N$ (8) - FINLANDIA ^
fS-: HA 5)+”A" : N$ ( 1 1 )="5REÜIA" : N$ ! 12! - ‘HOLANDA 11 : N$ ( 13)="HUN6RIA" : N$ í 14) =" IRLANDA" : N$ í 15) =" ISL
ANUIA ¡N$Q6)= ITALIA
6y M$(17!="nftLTA” :N${I8)=''N0FiEbft“ :N$(Í9)="PC¡L0N!A";tJ$(2C) ="PiTRTL6ftL":N$(21)="RD . ALEMANIA":N$Í22S="RF. ALEMANIA" ¡N$ (23! ="RUMftNIA"
70 N$(24I= ,i SLECIA":N$(25)="SJ¡ZA":N$í26!="TURQ!J!A“:N$(27!="¡J,R.S.S.“:N$(28)="YIJ60S i lAVIA"
^ 2,= " vi ^N^“ : CÍ< 3 ) ="B R USELitó"í c ^(4>=SStM :7I ft ll seí {5)= , 'Pftfa5ñ l ':C : $(6)=''Cí | PENHAGUE":r:$(7)= !, |«}ADRlD"iC*(S>="!-ELSIM<I“:Cí <9
9 Vff^nA"" L ^^^ ll:C *^^ = ' ,ftT ^^'' :C * { ^ =U ^ TE l^^ l,: ^ < ^ 5= * BU I^^ES T '' ! Ct(14)="DL!BLIN'':C$(15)=“REYKJAVIK ,l 5C$(16)=“ROI1A":C$!17)=“LA
|00 C$ÍÍ8)="OS-0“:CÍ(19)="VARS0VIA"';C$(20!=' , LISB!M“!C$(21)="BERLIN"!C$S 2 2)=“B0NN":C${23 )="BUCAR E ST"!(^í24)="EST(SIOLM0"!C${^)="BERNA
1 10 C$ (26) =' WARA" : Cí (27) ="!-ftSC!J" :C$ (28) =" BELGRADO"
120 CLS:PRINT“ INTRODUCIR LA CAPITAL DE LA NACION^PRINT-CCRRESPONDIENTE*
130 PRINT: PRINT"Y FISIONAR LA TECLA -RETURN-"
140 PRINT: PRINPPARA TERMINAR EL PROGRAMA PULSAR LAS TECLAS CRTL-STOP A LA VEZ"
150 PRINT: PRINT: PRINT'PARA COlENZAñ PRESIONAR CUO.QUIER": PRINT "TECLA"
160 IF INKEYÍ=“" THEN GOTO 160
170 OPEN "GRP:" AS41 : SCREEN 3
180 PRESET (40,60)
190 PRINTtl, "EUROPA" sFOR 1=1 TO 2000: NEXT
200 CLS
210 SCREEN O
220 KEY OFF
230 X=RND (-TIME) : X=INT (RND ( 1) *28) +1
240 as
250 COLOR 15,4,4
260 LOCATE 8,10
270 PRINPCAPITAL DE ";N$(X)
280 LOCATE 8,12
290 INPUT R$
300 1F R$=C$(X) THEN GOTO 380
310 PRINT" OOOOOOO Ffl_LO 0000000"
320 LOCATE 8,16
330 PRINT “ES "jCKX)
340 PLAY ’CCCCCCC"
350 FOR 1=1 TO 2000: hEXT
360 as
370 GOTO 440
380 PR1NT"AB ABABABA ACERTO ABABABABA"
390 PLAY"04F#DBAE6FiEF#R4"
400 PLAY"04F#DBAE6F#ED"
410 FOR 1=1 TO 2000: NEXT
420 CLS
430 GOTO 440
440 COLOR, 5 i
450 SCREEN 2 '
160 PSET (32,170)
470 DRAH"F6E6R6E6U6E6U6E6R6F24D666R6E6U6R6H24EéF12R6F18D6F6R6Ul2R6H6U6R12F6E6U12E12R6F6E12D
12R6F18D6G6L30H6L6G6H666D12F12R18F6E6R30E
6R6U18F6R6"
480 DRAH " U 1 38H6L6H 1 8L2466D6G6D6G6D666L6JJ6H6R1 2U6H6L6H6L6IJ6L 1 8G36L6G 12D1 8R6E6F6D 1 2R6E6U 12E6H6E1 2R.
6U6E6R6D6G12D6F6R12D6L6D6L6D12L666L1
2G6L6H6"
490 DRAH"!J1266D12L12b6L6612L12D6F6D12L18D24Ró"
500 DRftW"BN32, 170U18L6"
510 DRATBM62, 146118°
520 DRAW"BM74, 140U6E6Míl8JJ6NH12E6f^l2NU12F6N66R18F6N66R12E12NU6LlSH6NH6G6L6N66H6U6*
530 DRAW"BH92, 134E6F6R6F6R12F6NR6E6R24BE6U12H666L24F666L666"
540 DRAW'BMl 16, 152R6F6ND6E12R6F6"
550 DRAN“BK224, 158R6F6R6”
670 LI)C (124, 155)- (127, 158), T,BF
680 FOR H=1 TO 30: NEXT H
690 NEXT T,J
700 GOTO 210
710 LINE (44,20)-(84,30),8,BF:LINE(44,30)-(84,40),15,BF:LINE(44,40)-(84,50),8,BF
720 FOR J=1 TO 50: FOR T=1 TO 3
730 LINE ( 109, 125) - ( 1 12, 128) , T, BF
740 FOR H=1 TO 30: NEXT H
750 NEXT T»J
760 GOTO 210
770 LINE (42, 20) - (56, 50) , 1 , BF: UNE (56, 20) - (70, 50) , 10, BF: L INE (70, 20) - (84, 50) , 8, BF
780 FOR J=1 TO 50: FOR T=1 TO 3
790 LINE(77,111)-(79,114),T,BF
800 FOR H=1 TO 30: NEXT H
810 NEXT T»J
820 GOTO 210
830 LINE(44,20)-(84>3Q)»15,BF:LINE(44,30)-(84,40) ,12,BF:LINE(44,40)-(84,50)»8,BF
840 FOR J=1 TO 50: FOR T=1 TO 3
850 LIf€ (149, 144) -(152, 147), T,BF
860 FOR H=1 TO 30: NEXT H
870 ÍEXT T,J
880 GOTO 210
890 A$="R42D18L24H18"
900 DRAH*C15BM44, 15"+A$
910 PAINT(46,16),15
920 A$="142E18R24D18"
930 DRAN"C8Bf186i 51"+A5
940 PAINT(85,49),8
950 DRAN"BM44, 15C15D36"
960 FOR J=1 TO 50: FOR T=1 TO 3
970 LINE(113, 117M116, 120),T,BF
980 FOR H=1 TO 30: NEXT H
990 NEXT T,J
1000 GOTO 210
1010 LINE(44,20)-(51,33),8,BF:LINE(54,20)-(84,33),8,BF:LINE(44,36)-(51,49),8,BF:LINE(54,36)-(84,49),8,BF
1020 LINE(44,33)-(84,36),15,BF:LINE(51,20)-(53,49),15,BF
1030 FOR J=1 TO 5O:F0R T=1 TO 3
1040 LINE(90,95)-(93,98),T,BF
1050 FOR H=1 TO 30 :)€XT H
1060 .NEXT T,J
1070 GOTO 210
1080 LINE(44,20)-(84,29),8,BF:LINE(44,29)-(84,41),10,EF:LINE(44,41)-(84,50),8,BF
1090 FOR J=1 TO 50: FOR T=1 TO 3
1100 L1)E(42,156)-(43,159),T,BF
1110 FOR H=1 TO 30: NEXT H
1120 )CXT T,J
1130 GOTO 210
1140 LINE (44, 20) -(51 ,33) , 15,BF:Llf£ (54,20)- (84,33) , 15,BF:LINE(44,36)-(51,49) , 15,BF:LINE(54,36)-(84,49) , 15, H
1150 LI)€(44,33)-(84,36),4,BF:LINE(51,20)-(54,49),4,BF
1160 FOR J=1 TO 50:FGR T=1 TO 3
1170 LINE(137,65)-(140,68) ,T,Bf
1180 FOR H=1 TO 30: NEXT H
1190 NEXT T,J
1200 GOTO 210
560 DRAH"BN140> 110E¿H616H6B66BL12D6 M
570 DRAW"BM146,68E12U6H6U18E6BL6L12ND18G6L6612D6612D6L6D18"
580 DRAN"BM86» 182R6D6L6U6"
590 DRAW"BH38> 110E6R18U6E6H12U18H6G6D6F6G6D666F666D6*
600 DRAT BM26, 92E6U6E6H6L666D666D6R12"
610 DR*"K126,26E12U6H6L12D6H6L6D6R6D12F6R6"
1210 LINE(42,20)-(56,50),4,BF:LINE(56,20)-(70,50),15,BF:LINE(70,20)-(84,50),8,BF
1220 FOR J=1 TO 50:F0R T=1 TO 3
1230 UNE (57, 125) - (60, 128) , T , BF
1240 FOR H=1 TO 30:)EXT H
1250 NEXT T,J
1260 GOTO 210
j
1270 LINE(50,2)-C92,44),4,BF:LINE(50,20)-(?2,26),8,BFíLINE(68,2)-(74,44),8,BF
1280 A$="R3F14D3L3H14U3*
1290 ERAH'C8W50,2*+A$
1300 PAINT (62» 14) »8
1310 A$=’R3D3G14L3U3E14"
1320 DRArC88K89,2'+A$
1330 PAINT (80» 14) »8
1340 AS=“D3R3E14U3L3614"
1350 DRANT8BM50, 41 *+A$
1360 PAINT (62, 32), 8
1370 A*='D3L3H14U3R3F14"
1380 DRAN"C8B(192,4r+A$
1390 PAINT (80, 32), 8
i40ó Eft^ a C8íilt9i»4r'»f«
1410 FOR J=1 TO 50:FOR T=1 TO 3
1420 UNE (60,98) -(63, 101 ),T,BF
1430 FOR H=1 TO 30:fOT H
1440 NEXT T, J
1450 GOTO 210
14-60 LINE(44,20)-(84,49),7 ? BF:LINE(49,20)-(52,36),15,BF:LINE(44,27)-(60,30),15,
BF:Uf€(60,24)-(84,27),15,BF
1470 LINE(60,3Ó)-(84,33),15,BF:LINE(44,36)-(84,39),15,BF:L1NE(44,421-(84,45),15,BF
1480 FOR J=1 TO 50: FOR T=1 TO 3
1490 UNE (137, 173) -(140, 176), T,BF
1500 FOR H=1 TO 30:NEXT H
1510 NEXT T,J
1520 60TO 210
1530 LINE(44,20M34,3Q) j8,EF:LINE(44,30)-(84,40)»15jBF:UNS(44j40)-(84,50),4»BF
1540 FOR J=1 TO 50: FOR T=l TO 3
1550 LINE(30, 104)-(83,1G7),T»BF
1560 FOR H=1 TO 30: NEXT H
1570 fEXT T»J
1580 GOTO 210
1590 LINE(44,20)-(84,30),8,BF:UNE(44,30)-(84,40),15,BF:L1ÍC(44,40)-(34»50),12,BF
1600 FOR J=1 TO 50:F0R T=i TO 3
1610 UNE (125, 131) -(128, 134) ,T,BF
1620 FOR H=1 TO 30:)EXT H
1630 NEXT T,J
1640 GOTO 210
1650 LINE(42,20>-(56,50M2,BF:LINE(56,20)-(70,50M5,&F:L1NE(70,2Ü>-{84,50>,9,BF
1660 FOR J=1 TO 50:FOR T=1 TO 3
1670 UNE (31, 80) -(34, 33), T, 8F
1680 FOR H=i TO 30:NEXT K
1690 NEXT T,J
1700 GOTO 210
1710 UNE(44,20)-(51,33),4 f BF:Uf£(54,20)-(84,33),4,BF:LINE(44,36)-(51,49),4,BF
1720 UNE(54,36)-(84,49),4,BF:LINE(44,33)-(S4,36),8,BF:LINE(51,20)-(53,4?),8,BF
1730 FOR J=1 TO 50: FOR T=i TO 3
1740 LINE(18,18)-(21,21),T,BF
1750 FOR H=1 TO 30:NEXT H
1760 NEXT T, J
1770 GOTO 210
1780 UNE(42,20)-(5ó,50),12,BF:LIf£(56,20)-(70,50),15,BF:UNE(70,20)-(84,50),8,BF
1790 FOR J=1 TO 50: FOR T=1 TO 3
1800 UNE (91, 154) -(94, 157), T,BF
1810 FOR H=1 TO 30: NEXT H
1820 NEXT T,J
1830 GOTO 210
1840 UNE (42,20) - (62,50) , 15, Bf : UNE (64,20)- (84, 50) ,8, BF
1850 ORAN * BN46 , 26C8R3U3R2B3R3D2L 3D3L2U3L3U2 ’
1860 FOR J=1 TO 50: FOR T=1 TO 3
1870 LINE<89, 185)-(92»188),T,BF
1880 fUR R=1 IU 30:rtXl H
1890 NEXT T,J
1900 GOTO 210
1910 LINE(44,20)-(51,33),8,BF:LINE(54,20)-(84,33),8,BF:LINE(44,36)-(51,49),8,BF
1920 LIÍ£(54,36)-(84,49),8,BF:LINE(44,33)-(84,36),4,BF:LINE(51,20)-(54,49),4,BF
1930 FOR J=1 TO 50: FOR T=1 TO 3
1940 UNE(92,71)-(95,74),T,BF
1950 FOR H=1 TO 30:NEXT H
1960 NEXT T»J
1970 GOTO 210
1980 UNE(44,20)-(84,35),15,BF:Uf£(44,35)-(84,50),8,BF
1990 FOR J=1 TO 50: FOR T=i TO 3
2000 UNE (134, 104) -(137, 107), T,BF
2010 FOR H=1 TO 30:NEXT H
2020 NEXT T,J
2030 GOTO 210
2040 UNE (44, 20) -(58, 50), 12, BF: UNE (58, 20) -(84, 50), 8, BF
2050 FOR J=1 TO 50: FOR T=l TO 3
2060 LINE(27, 163)-(30,166),T,BF
2070 FOR H=1 TO 30:NEXT H
2080 NEXT T»J
2090 GOTO 210
2100 UNE (44, 20) - (84, 30) , 1,BF: UNE (44, 30) - (84, 40) , 8, BF: UNE (44, 405 - (84, 50) , 10, BF
2110 FOR J=1 TO 50: FOR T=1 TO 3
2120 LINE(107,107)-(110,110),T,BF
2130 FOR H=1 TO 30:íEXT H
2140 NEXT T,J
2150 GOTO 210
2160 UNEU4,20M84,30),l,EF:LIí£(44,30)-ÍS4,40),3,eF:Uí£(44.40)-(84,50),10,8F
2170 FOR J=1 TO 50:F0R T=i T0 3
2180 UNE (92, 110)- (95, 113) ,T,BF
2190 FOR H=1 TO 30: NEXT H
2200 NEXT T,J
2210 GOTO 210
2220 UNE (42, 20) - (56, 50>,4, BF : UNE (56,20) - (70,50) , 10, BF: UNE (70, 20) -(84, 50) , S, BF
2230 FOR J=1 TO 50: FOR T=1 TO 3
2240 UNE (155, 137) - ( 158, 140) »T, BF
2250 FOR H=i TO 30:NEXT H
2260 NEXT T,J
2270 GOTO 210
2280 L1NE(44,20)-(51,33),7,BF:LINE(54,20)-(84,33),7,BF:LINE(44,36)-(51,49) ,7,BF:LINE(54,36)-(84,49) ,7,BF
2290 LIN£( 44,33) -(84, 36) ,10, BF: UNE (51, 20) -(54, 49) , 10, BF
2300 FOR J=í TO 50:FOR T=1 TO 3
2310 LINE(103,72)-(111,75),T,BF
2320 FOR H=1 TO 30:NEXT H
2330 NEXT T,J
2340 GOTO 210
2350 LINE(44,20>-(84,50),8,BF:LINE(62,25)-(66,45),15,BF:LDE(54,33)-(74,37),15,BF
2360 HJK J=1 IU 1=1 IU 3
2370 UNE (86, 122) -(89, 125) ,T,Ef
2380 FOR H=1 TO 30: NEXT H
2390 NEXT T,J
2400 GOTO 210
2410 UNE (44, 20) - (84, 50) »8,BF: CIR&E (58, 35) , 8, 15, 90*3 .14/ 180, 270*3 . 14/ ISO
2420 FOR -3=1 TO 50: FOR T=1 TO 3
2430 UNE { 185, 172)- ( 188, 175) , T, BF
2440 FOR M TO 30: NEXT H
245-0 NEXT 7,0
2460 GOTO 210
2470 UNE(44,20)-(84,50),8,BF:CIRaE(51,28), 4, 1,270*3.14/180,90*3.14/180
2480 DRfllfB«56, 32C 1H5NG1NE2" : BRAH*BH4?,31C 161 “
2490 FOR J=í TO 50: FOR T=1 TO 3
2500 UNE 1 186, 77 ) - ( 189, 80) , T, BF
2510 FOR H=i TO 30SNEXT H
2520 NEXT T,J
2530 GOTO 210
2540 UNE (44, 20) -(84, 30), 4, BF:UNE(44, 30) -(84, 40) ,15, ff: LIME (44, 40) -(84,50) ,8,BF
2550 FOR J=1 TO 50: FOR 1=1 TO 3
2560 UNE (119, 143)- (122, 146), T,BF
2570 FOR H=l TO 30:NEXT H
2580 NEXT T,J
2590 GOTO 210
5.20
VIDEO BYTE S.R.L.
H. Yrigoyen 40
(1 640) Martínez
Te.: 793-0597
COMPUTACION LANUS
Caaguazú 2186
(1 824) Lanús Este
Te.: 247-0678
MANIAC COMP.
Av. Rivadavia 13734
(1704) Ramos Mejía
Te.: 654-6844
ARGESIS COMP. S.A.
Meeks 269
(1832) Lomas de Zamora
Te.: 243-1742
FAST
Catamarca 1755
(7600) Mar del Plata
Te.: (023) 43-430
MICROSTAR S.A.
Eduardo Costa 892
(1 640) Acassuso
Te.: 45-0964
CERO-UNO
INFORMATICA S.A.
Calle 48 N° 529
(1 900) La Plata
Te.: (021) 24-9905/9906
24-9907
MINICOMP S.R.L
Maipú 862
(2000) Rosario
Te.: (041) 64-447
63-091 21-1266
CURSO GRATUITO
El Club de Usuarios MSX anuncia que
todo socio o comprador de una compu-
tadora Talent MSX tiene derecho a un
curso gratuito sobre Introducción a la •
computación a dictarse en sus ids-
talaciones.
Software disponible para la compra
presentación en cassettes
GESTION
EDUCACIONALES
CONTABILIDAD
EUROPA
AFRICA
FACTURACION
AMERICA
CONTROL DE STOCK
ASIA
FICHERO
FISICA /
B.G. CALC
COSMOS
UTILITARIOS
INGLES /
INGLES 1/
ENSAMBLADOR
PRESENTACION
DESENSAMBLADOR
MSX-PLAN
PASCAL
LOGO
BANCO DE PROGRAMAS
Ofrecemos un detalle del Banco de
Programas que posee el Club, el cual
podrá ser utilizado por los socios
(siempre haciéndolo en las instalacio-
nes del "Centro para el desarrollo de
la Inteligencia").
Obviamente las personas interesadas
en el uso de los mismos tendrán todo el
asesoramiento del personal, el cual
posee un amplio conocimiento en el
manejo de ese software.
Software disponible para uso
interno en el Club
Banco de Programas
GESTION
MSX - Plan (Cartridge)
Paso - Cale (Diskette)
UTILITARIOS
LENGUAJES
ASSEMBLER
CMD - ASM (diskette)
MSX - DUAD (diskette)
SIMPLE ASSEMBLER (diskette - cassette)
ZEM - ASSEMBLER (diskette - cassette)
CMD - CMP (cartridge)
COMPILADOR BASIC (diskette)
FORTH (diskette)
FORTRAN 80 (diskette)
MSX - C (diskette)
RM * COBOL (diskette)
SU PER SOFT - C 80 (diskette)
SU PER SORT (diskette)
UPL/SP (diskette)
EDITORES DE TEXTOS
JWJ (WORD PRS) (cartridge -(diskette)
MS - TEXT (diskette - cassette)
TASWORD (diskette)
BASE DE DATOS
D. BASE II (diskette)
MS - BASE (diskette)
EDITORES DE MUSICA
PSG MUSIC EDITOR (diskette)
HAL (diskette)
SU PER S/NTET/ZER (diskette)
EDITORES DE GRAFICOS
YAMAHA GRAF/C EDITOR (diskette)
EDUCACIONALES
LOGO (cartridge)
e. ??
Este programa, preparado por el Club
de usuarios MSX (Avenida Cabildo 2027
Capital), se encargará de mantener un
archivo actualizado de nuestra agen-
da telefónica.
Es muy simple y fácil de usar. Permite
que el archivo se encuentre tanto en
disco como en cassette.
Cada registro de éste, está dividido en
los siguientes campos:
Apellido, Nombre, Dirección, Locali-
dad, Código Postal y Teléfono.
Estos se encuentran perfectamente
validados (hablando como programa-
dores expertos).
AGENDA
Clase: comercial
Esto es: cuando entramos los datos,
no hay posibilidad de que nos permita
ingresar uno numérico en donde debe
entrarse uno alfanumérico.
El menú principal nos ofrece las si-
guientes opciones:
1- ALTAS
2- BAJAS
3- MODIFICACIONES
4- LISTADO
5- GRABAR
6- CARGAR
Para mantener este archivo en casse-
tte, habrá que efectuar algunas modifi-
caciones en las instrucciones OPEN,
pues el listado que publicamos está
preparado para trabajar con la unidad
de discos.
Variables importantes
AR$: Matriz alfanumérica que con-
tiene todos los registros.
MA: Valor del último registro entrado.
A$: Contiene los posibles valores nu-
méricos de las opciones y/o respues-
tas S/N.
10 CLEAR 18000: MAXFILES=2: GOSUB
430 7 INICI ALI ZAR
20 MA=0
30 DIM AR$ (500)
40 RESTORE 830: GOSUB 440 : LOCATE
10*0: PR I NT " RE6 I STROS : " : MA ’ GENE
RA MENU
50 A*= " 1 23456 " : X=22 : Y=20 : GOSUB 4
50 7 ACEPTA OPCION
60 ON VAL ( ) GOSUB 70,120,190,2
70, 390, 410: GOTO 40
70 RESTORE 910: GOSUB 440
80 GOSUB 470: D*=D*+SPACE$ (87-LEN
(D*) )
90 A$="SNsn" : X=21 : Y=1S: GOSUB 450
: IF B$="N" OR B*="n" THEN GOSUB 6
90: GOTO 90
100 GOSUB 540: GOSUB 580
110 A$="SNsn " : X=21 : Y=21 : GOSUB 45
O: IF B*="N" OR B*="n" THEN RETURN
ELSE 70
120 CLS: LOCATE O, 12, O: PRINT"CUAL
BORRA?: " : X=12: Y=12: A*=" " : L=25: GO
SUB 590
130 FOR A=25 TO 1 STEP -1 = IF MID
% (C$, A, 1)0" " THEN Q*=MID$(C$, 1,
A) ELSE NEXT
140 FOR W=1 TO MA: IF INSTR(1,AR$
( W ) , ) =0 THEN NEXT : GOTO 180
1 50 D$=AR$ ( W ) : RESTORE 1 000 : GOSUB
440: F=l: LOCATE 10,1: PRINT" BA
JAS " : GOSUB 760
160 AS= u SNsn":X=2l:Y=ie: GOSUB 45
O: IF B*="N" OR B$="n" THEN NEXT: G
rvrn i p o
170 FOR A=W 1U M A— 1 : AR$ ( A ) =AR$ ( A
+1 ) : NEXT: MA=MA-1 : RETURN
1 SO CLS : BEEP : LOCATE 0,12,0: BEEP :
PR INT " NO HAY MAS" : BEEP: FOR A=1 TO
20: BEEP: NEXT: RETURN
190 CLS: LOCATE O, 12, 0= PRINT"QUE
BUSCA?: " : X=1 1 : Y=12: A*=" " : L=25= GOS
UB 590
200 FOR A=25 TO 1 STEP -1:IF MID
$(C$, A, 1)0" " THEN Q$=MID$(C$, 1,
A) ELSE NEXT
210 FOR W=1 TO MA: IF INSTR(1,AR$
(W>,Q$)=0 THEN NEXT: GOTO 260
220 D$=AR$ ( W ) : RESTORE 1 000 : GOSUB
440: F=l: GOSUB 760
230 A$="SNsn" : X=21 : Y=18: GOSUB 45
O: IF B*="N" OR B$="n" THEN NEXT : G
OTO 260
240 GOSUB 690: AR$(W)=D*
250 A$="SNsn": X=2l:Y=2l: GOSUB 45
«Q:IF B*="N" OR B$= ,, n" THEN 240 EL
SE RETURN
260 CLS: BEEP: LOCATE O, 12, O: BEEP:
PRINT"NO HAY MAS" : BEEP: FOR A=1 TO
20 : BEEP : NEXT: RETURN
270 CLS : PR I NT "TI ENE IMPRESORA (S/
N ) : " : X=2 1 : Y=0 : A*= " SNsn " : GOSUB 450
: IF B$="s" OR B$="S" THEN A=1 ELS
E A=2
280 OPEN "LPT : " FOR OUTPUT AS #1
290 OPEN "CRT : " FOR OUTPUT AS #2
300 CLS: PRINT #A, CHR* ( 15) ; TAB (50
)+" LIST ADO OENERAL": PRINT #A,"":P
RINT # A, "APELLIDO ! NOMBRE
! DIRECCION
! LOCALIDAD ! C.P
. ! TELEFONO !":FOR Q=1 TO MA: D*=
AR$(Q> : LOCATE 0,7,0
310 PRINT #A,MID$(D$, 1, 15)+" i "
320 PRINT #A,MID$(D$, 16,20)+" *
330 PRINT #A,MID$(D$,36,25)+" !
340 PRINT #A,MID*(D*,61, 15)+" !
II .
350 PRINT #A,MID$(D*,76,4)+" ! "
360 PRINT # A , M I D$ ( D$ , 80 , 8 ) + " ! "
370 FOR W=1 TO 900: NEXT: NEXT: CLO
SE: RETURN
380 RETURN
390 OPEN "DATOS" FOR OUTPUT AS #
1
400 PRINT #1 , MA: FOR A=1 TO MA: PR
INT #1,AR*(A> : NEXT: CLOSE: RETURN
410 OPEN "DATOS" FOR INPUT AS #1
420 INPUT #1 , MA: FOR A=1 TO MA: IN
PUT #1, AR*(A> :NEXT : GLOSE: RETURN
430 WIDTH 40: KEY OFF: RETURN
440 CLS: READ B: FOR A=1 TO B: READ
X, Y, ZZ$: LOCATE X , Y, O: PRINTZZ*: NE
XT: RETURN
450 LOCATE X,Y,1
460 B$= I NPUT $ ( 1 ) : I F INSTR(1,AS,B
$)=0 THEN 450 ELSE PRINTB$: LOCATE
, , O: RETURN
470 A$=" " : X=1 1 : Y=5: L=15: GOSUB 59
O: D$=C$
480 A$="": X=ll:Y=7: L=20: GOSUB 59
O: D%=B%+C%
490 A$=" " : X=1 1 : Y=9: L=25: GOSUB 59
O : D*=D*+C*
500 A$=" ": X=1 1 : Y=1 1 : L=15: GOSUB 5
90:D$=D*+C$
510 A*=" 1234567890" : X=1 1 : Y=13: L=
4: GOSUB 590: D*=D$+C*
520 A$="- 1234567890" : X=1 1 : Y=15: L
=8: GOSUB 590: D*=D*+C*+SPACE* (8-LE
N(C$) )
530 RETURN
540 IF MA=0 THEN MA=i : P0=1 : RETUR
N
550 MA=MA+1 : FOR A=1 TO MA-1
560 IF AR*(A)>D* THEN PO=A:RETUR
N ELSE NEXT
570 PO=MA: RETURN
580 FOR A=MA TO PO STEP— 1 : AR$ ( A+
1 ) =AR$ ( A) : NEXT: AR$ (PO) =D$: RETURN
590 C$=STR I NG$ ( L ? 32 )
600 A- 1
610 LOCATE X, Y,0:PRINTC$; : LOCATE
X+A— 1 , Y, 1 : B$= I NPUT $ ( 1 )
620 IF ((A$="" AND ASC (B*) >31 AN
D ASC ( B$ ) < > 1 27 ) OR ( INSTR ( 1 , A*, B*
)wüi> HNU A^=L l HEN LULA I L X,Y,U
:MID$(C$, A, 1)=B$: A=A+1
630 IF ASC ( B$) =28 AND ACL+l THEN
A=A+1
640 IF ASC (B*) =127 AND ACL+l THE
N C*=MID*(C$, 1, A-1)+MID$(C$, A+1,L
—A) +" "
650 IF ASC <B$) =29 AND A>1 THEN A
=A— 1
660 IF ASC ( B$ ) =8 AND A>1 THEN
=MID*(C*, l,A-2)+MID$(C$, A,L-A+1)+
" " ; i
670 IF ASC (B$) < >13 THEN 610
680 Q=INSTR(1,C*, " "):IF Q=0 THE
N LOCATE X, Y,0:PRIÑTC*:RETURN ELS
E MID$(C*,Q, 1)=" " : GOTO 680
690 A$=" " : X=1 1 : Y=5: L=15: C*=MID* (
D*, 1, 15) :60SUB 600:MID$(D*, 1,15)=
C$
700 A$="": X=ll: Y=7: L=20: C*=MID* (
D$, 16,20) : GOSUB 600: MID* (D$, 16,20
)=C*
710 A*=" " : X=1 1 : Y=9: L=25: C*=MIB* (
D*, 36, 25) : GOSUB 600: MID* (D*, 36, 25
)=C*
720 A*="": X=ll: Y=l 1 : L=15: C*=MID*
(D*,61, 15) : GOSUB 600: MID* (D*, 61 , 1
5 ) =C*
730 A*=" 1234567890" : X=1 1 : Y=13: L=
4 : C*=M I D* ( D* ,76,4) : GOSUB 600: MID*
(D*,76,4)=C*
740 A*="-1234567890": X=li: Y=15:L
=8:C*=MID*(D*,80,8) : GOSUB 600: MID
* ( D* , 80 , 8 > =C*
750 RETURN
760 LOCATE 1 1 , 5, O: PRINTMID* (D*, 1
, 15)
770 LOCATE 1 1 , 7: PRINTMID* (D*, 16,
20 )
780 LOCATE 11,9: PRINTMID* (D*, 36,
25)
790 LOCATE 11, 11: PRINTMI D* (D*, 61
, 15)
800 LOCATE 11, 13: PRINTMID* (D*, 76
,4)
810 LOCATE 11, 15:PRINTMID*(D$,80
, 8 )
820 RETURN
830 DATA 8, 10,3, "MENU PRINCIPAL"
840 DATA 5,6, "<1> ALTAS"
850 DATA 5,8, "<2> BAJAS"
860 DATA 5, 10, "<3> MODIFICACIONE
S"
870 DATA 5, 12, "<4> LISTADO"
880 DATA 5, 14, "<5> GRABAR"
890 DATA 5, 16, "<6> CARGAR"
900 DATA 9,20, "OPCION (1-6)?: "
910 DATA 9, 15, 1, "ALTAS"
920 DATA 0,5, "APELLIDO :
930 DATA *0,7, " NOMBRE :
940 DATA 0,9, "DIRECCION:
950 DATA O, 11, "LOCALIDAD:
• II
960 DATA 0,13, "COD . POS.: : "
970 t DATA O, 15, "TELEFONO :
980 DATA 5, 18, "TODO BIEN (S/N) ?: "
990 DATA 5,21, "MAS ALTAS (S/N) ?: "
1000 DATA 9, 10, 1 , "MODIFICACIONES
1010 DATA 0,5, "APELLIDO
• II
1 020 DATA *0,7," NOMBRE
1030 DATA 0,9, "DIRECCION:
■ ii
1040 DATA O, 11, "LOCALIDAD:
1050 DATA Ó, 13, "COD. POS.: :
1 060 m DATA O, 15, "TELEFONO :
1070 DATA 5,18, "ES ESTE (S/N)?:
1080 DATA 5,21, "TODO BIEN (S/N)?:
1090 DATA O, 7, "NOMBRE :"
1100 DATA 0,9, "DIRECCION: "
1110 DATA O, 11, "LOCALIDAD: "
1120 DATA O, 13, "COD. POS.:"
1130 DATA O, 15, "TELEFONO : "
DISEÑADOR DE
Con este programa
se grafican circunferen-
cias, cuadrados y líneas de
diversos tamaños. También
se pueden trazar líneas y cur-
vas como si estuviéramos
dibujando con un lápiz, per-
mitiéndonos delinear figu-
ras con mayor precisión y a
nuestro antojo.
Aparte de las ventajas para
diseñar, contamos con efec-
tos que nos pueden ayudar a
dar un toque más atractivo a
los bosquejos como, por
ejemplo, cuadricular la pan-
talla, invertir los colores o
rellenar figuras irregulares.
Aclaramos irregulares por-
que además de la*opción pa-
ra hacer circunsferencias,
contamos con la posibili-
dad de graficar círculos, rec-
tángulos y elipces rellenas.
También existe la opción
que permite dibujar como si
estuviéramos pintando con
una fibra con punta chata.
Este tipo de marcadores da
una sensación de sombra a
los trazos.
Pero a pesar de todas estas
ventajas, este programa se-
ría incompleto si no tuviera
incluido los recursos de car-
gar y guardar en cassettes,
como también el permitir la
salida por impresora MSX
(para los afortunados que
tengan este periférico).
La posición de nuestro "lá-
piz" está marcada por un
sprite con forma de cruz.
El manejo de este programa
es sencillo y tiene un menú
que nos explica algunos
puntos. Por ejemplo, en
el ángulo superior izquier-
do, aparecerán graficados
todos los símbolos corres-
pondientes a los recursos
posibles. Para seleccionar
algún tipo de recurso, posi-
cionemos el cursor (cruz)
sobre la opción y luego pre-
sionemos la barra espada-
dora. El símbolo corres-
pondiente a esa opción, se
dibujará en un casillero blan-
co.
Otra posibilidad que conta-
mos es el "ESPEJO", que
permite dibujar efectos ca-
lidoscópicos.
Estas son las opciones que
presenta el programa. En-
tre paréntesis indica el sím-
bolo que lo representa.
I - Circunferencia (circun-
ferencia).
2- Círculo (círculo).
3- Línea (regla T).
4- Pintura — pinta áreas de
figuras — (rectángulo semi
pintado).
5- Pincel (brocha ancha).
6- Grabar pantalla (S).
7- Elipse — dibuja este tipo
de figuras — (elipse).
8- Elipse rellena (elipse con
el área marcada).
9- Lápiz (línea oblicua).
10- Cuadriculado (rectán-
gulo cuadriculado).
I I - Inverso — invierte el co-
lor de fondo con el de tinta —
(rectángulo pintado de la
diagonal para abajo).
1 2- Carga pantalla (L).
13- Para abandonar el pro-
grama (Q).
14- Cuadrado (cuadrado).
15- Cuadrado relleno (cua-
drado con el área pintada).
1 6- Borra la pantalla para
volver volver a graficar (rec-
tángulo con dos diagonales
marcadas).
17- Imprime por impreso-
ra (espacio en blanco).
1 8- Espejo (rectángulo con
las diagonales marcadas).
VARIABLES
IMPORTANTES
X: Posición horizontal del
sprite.
Y: Posición vertical del spri-
te.
TBL: Matriz con código de
20-50: Pinta como pincel.
60-1 80: Lee la opción que
elegimos.
1 90-230: Visualiza la ima-
gen de la opción elegida.
260-31 0: Fin de proceso
de elección, rutina de dise-
ño, dibuja círculos, define
centro y coordenadas.
330-350: Pregunta si el
círculo se debe pintar.
370-460: Dibuja elipse.
480-490: Pinta elipse.
51 0-520: Dibuja línea.
540-550: Pinta área de
una figura cerrada.
630-690: Cuadrícula.
710-780: Invierte colores
de fondo con el de tinta.
800: Pincel.
820-840: Dibuja cuadra-
dos.
870-880: Limpia pantalla.
900-960: Graba pantalla.
980-1 060: Carga panta-
lla.
1 080-1 1 90: Rutina de
impresión en papel.
1 21 0-1 220: Abandona el
programa.
1240-1310: Inicio del
programa.
1340-1720: Dibuja los
símbolos de las opciones
en una tabla menú.
1750-1870: Loop que
mueve el cursor.
1890-2290: Inicializa va-
riables y sprites.
2300-2610: Presenta ex-
plicaciones en pantalla.
10 GOTO 1240
20 PS=5
30 IF X+PS>255 THEN PS=PS-1
40 LINE (X+4,Y+3)-STEP(PS,0> :RE
TURN
50 PSET(X+3, Y+4) :PSET(X+3, 195-Y
) = PSET ( 256- ( X-44 ) , Y+4 ) : PSET ( 256-
( X— 44) , 195-Y) sRETURN
60 PLAY "L2405C06C"
70 IF X+3>47 THEN GOTO 210
80 IF Y >112 THEN GOSUB 2640: RET
URN
90 V=INT( (X+3)/16) :W=INT( (Y+4)/
16)
lOO H=TBL(V,W)
llO IF H=6 THEN GOSUB 900: GOSUB
2640: RETURN
120 IF H=7 THEN GOSUB 2640: RETU
RN
130 IF H=1 1 THEN GOSUB 630:G0SU
B 2640: RETURN
140 IF H=12 THEN GOSUB 710S60SU
B 2640: RETURN
150 IF H=13 THEN GOSUB 980:G0SU
B 2640: RETURN
160 IF H=14 THEN GOSUB 1200: GOS
UB 2640: RETURN
170 IF H=18 THEN GOSUB 1080: GOS
UB 2640: RETURN
180 IF H=19 THEN GOSUB 870:G0SU
B 2640: RETURN
190 F=H
200 GOSUB 2 190: RETURN
210 ON F GOSUB 260,260,510,540,
800, , , 370, 370, 560, , , , , 820,820, 86
0, , ,600
220 GOSUB 2640
230 RETURN
240 7
250 7
260 IF CF=0 THEN CF=1 : Cl=X+3: C2
=Y+4: PUT SPRITE 1 , (Cl-1 , C2-2) , 1 :
FOR I = 1 TO 8: CSR (1,2) =0 : NEXT :
RETURN
270 FOR 1=1 TO 8 : CSR (1,2) =YG ( I )
: NEXT
280 CF=0: PUT SPRITE 1,(0,209),1
290 IF C 1 -ABS ( X+3— C IX 48 THEN P
LA Y “ L2402CE " : RETURN
300 CIRCLE (C1 , C2) , ABS ( X+3— C1 ) , ,
, ,8/7
310 IF F<2 THEN RETURN
320 7
330 IF POINT (C1,C2)=15 THEN PLA
Y ,, L2403CE*‘: RETURN
340 PAINT(C1,C2) : RETURN
350 RETURN
360 7
370 IF 0V=0 THEN 0V=1 : 01=X+3: 02
T,Y*4íPUT SPRITE 1 3>~<01 — 1 , 02 2> , 1 •
FOR 1=1 TO 8: CSR (I, 2) =0: NEXT: RET
URN
380 7
390 IF 0V=1 THEN 0V=2: R1=ABS (X+
3-01): PUT SPRITE 2, ( X+2, Y+2) , 1 , 1
: X=01— 3: Y=02— 4: FOR 1=1 TO 8:CSR(
1,2) =YG ( I ) : CSR (1,1) =0 : NEXT s RETUR
N
400 R2=ABS ( Y+4— 02 ) : RD=R 1
410 0V=0
420 IF R1<R2 THEN RD=R2
430 FOR 1=1 TO 8 : CSR (1,1) =XG ( I )
: NEXT
440 PUT SPRITE 1 , (O, 209) : PUT SP
opciones.
SPRITE O: Cruz.
ESTRUCTURA
DEL PROGRAMA
DA» 0/1
X UL.^ X
CE" 5 RETURN
460 CIRCLE (01,02) ,RD, , , ,R2/R1
470 *
480 IF F=8 THEN RETURN
490 PAINT (01,02) : RETURN
500 7
510 IF LF=0 THEN LF=1 : Ll=X+3: L2
=Y+4: PUT SPRITE 1 , (Ll-1 , L2-2) , 1 :
RETURN
520 LINE (Ll,L2)-(X+3, Y+4) s LF=0
: PUT SPRITE 1, (0,209) : RETURN
530 7
540 PAINT (X+3, Y+4)
550 RETURN
560 7
570 SWAP PU, PD
580 RETURN
590 7
600 SWAP MU , MD
610 RETURN
620 7
630 FOR 1=0 TO 192 STEP 8
640 LINE (48, I ) -STEP (255,0)
650 NEXT I
660 FOR 1=48 TO 256 STEP 8
670 LINE (1,0) -STEP (0,191)
680 NEXT I
690 RETURN
700 7
710 VDP (7 ) =FC
720 FOR 1=0 TO 6144
730 IF VPEEK ( I ) =0 AND VPEEK (BA
SE ( 1 1 ) +1 ) =FC THEN VPOKE BASE ( 1 1 )
+1 , BC: GOTO 760
740 IF VPEEK ( I ) =0 AND VPEEK (BAS
E(11)+I)=BC THEN VPOKE BASE ( 1 1 > +
I , FC: GOTO 760
750 VPOKE I , NOT (VPEEK ( I ) ) AND 2
55
760 NEXT
770 SWAP BC , FC
780 RETURN
790 7
800 SWAP BU, BD: RETURN
810 7
820 IF BF=0 THEN BF=1 : Bl=X+3: B2
=Y+4: PUT SPRITE 1 , (Bl-1 , B2-2) , 1 ,
1= RETURN
830 IF F=15 THEN LINE (Bl,B2)-(
X+3, Y+4) , ,B:BF=0:PUT SPRITE 1,(0
,209) : RETURN
840 LINE (Bl,B2)-(X+3, Y+4) , ,BFs
BF=0: PUT SPRITE 1 , (O, 209) : RETUR
N
850 7
860 SWAP EU,ED: RETURN
870 L I NE ( 48 , O ) — ( 255 , 191) ,4, BF
880 RETURN
890 7
900 OPEN "CAS 2 PIC" FOR OUTPUT A
S#2
910 FOR 1=48 TO 5836 -STEP 256
920 FOR J=I TO 1+207
930 PRINT #2, VPEEK (J) ; " , " ; VPEEK
(8192+J)
940 NEXT J,I
950 GLOSE #2
960 RETURN
970 7
980 GOSUB 870
990 OPEN "CAS: PIC" FOR INPUT AS
#2
1000 FOR 1=48 TO 5836 STEP 256
1010 FOR J=1 TO 1+207
1020 INPUT #2, VP, VC
1030 VPOKE J,VP: VPOKE 8192+J, VC
1040 NEXT J, I
1050 CLOSE #2
1060 RETURN
1070 7
1080 LPRINT CHR*(27) ; "L"?CHR*(2
08) ;CHR*(0)
1090 FOR 1=0 TO 183 STEP 8
1110 FOR * J=48 TO 255
1120 B*=""
1130 FOR K=0 TO 7
1140 IF POINT ( J, J+K) =FC THEN B*
=B*+"1» ELSE B*=B*+"0"
1150 NEXT K
1160 NEXT J, I
1170 LPRINT CHR*(VAL("&B"+B*) )
1180 7
1190 RETURN
1200 7
1210 COLOR 15,4,4: SCREEN 0,0
1220 END
1250 GOSUB 1890
1260 GOSUB 2300
1270 BC=4: FC=15
1280 COLOR FC, BC, BC
1290 SCREEN 2,0,0
1300 OPEN "GRP: "AS#1
1310 GOSUB 2030
1320 7
1330 7
1340 LINE (0,0)— (47 ,111),,B
1350 FOR 1=15 TO 31 STEP 16
1360 LINE (1,0)— (I, 111)
1370 NEXT I
1380 CIRCLE (8, 8) ,4: CIRCLE STEP (
15,0) ,5, , , , 1/2:LINE STEP (12,-4)
-STEP (7, 7) , , B
1390 CIRCLE (8, 23) ,BC: PAINT (8, 23
) : CIRCLE STEP (15, O) ,5, , , , 1/2: LIN
E STEP (12, —4 ) —STEP (7,7) , , BF : PA I N
T STEP (—15, —2)
1400 LINE ( 7 , 36 ) —STEP (0,8)
1410 LINE (4, 35) —STEP (6,1),, BF
1420 LINE (21, 36) -STEP (5, 5)
1430 LINE ( 35 , 35 ) —STEP (8,8) , , B
1440 LINE (35, 35) -STEP (8, 8)
1450 L I NE ( 35 , 43 ) —STEP ( 8 , —8 )
1460 L I NE (4,51) —STEP (7,4) , , B
1470 LINE -STEP (-7, 3) , , BF
1480 FOR 1=15 TO 31 STEP 4
1490 LINE (1,47) -STEP (O, 15)
1500 LINE (15, 32+ I ) —STEP (15,0)
1510 NEXT
1 520 DR A W " BM35 , 1 1 0R6D6 1 6U6R6D3R
3D616U3"
1530 LINE (4, 66) -STEP (6, 3) , ,BF
1540 L I NE (4,71) —STEP (6,0)
1550 LINE (6, 73) —STEP (2,3) , , BF
1560 L I NE (19, 67 ) —STEP (8,8) , , B
1570 L I NE (19, 67 ) —STEP (8,8) : P A I N
T STEP (-3,-1)
1580 LINE (32, 64) -STEP (15, 15)
1590 L I NE ( 47 , 63 ) —STEP (—15, 15)
1600 LINE (32,-95) —STEP ( 15, 15) , , B
F
1610 PSET (6, 84) : PRINT#1 , "S"
1620 LINE (35, 83) -STEP (8, 8) , ,B
1630 LINE (39, 83) -STEP (O, 8)
1640 LINE (35, 87) -STEP (8, O)
1650 PSET (21,1 00 ) : PR I NT # 1 , " Q "
1660 PSET (21, 84 ) : PR I NT # 1 , " L "
1670 7
1680 X=48: Y=96: PU=— 1 : PD=0: EU=— 1
: ED=0 : BU=- 1 : BD=0 : MU=- 1 : MD=0
1690 STRIG(O) ON:ON STRIG GOSUB
60
1700 RESTORE 2130
1710 FOR 1=1 TO 8: FOR J=1 TO 2
1720 READ A: CSR ( I , J) =A: NEXT J, I
1730 7
1740 7
1750 PUT SPRITE O, (X, Y), 1,0
1760 IF PD AND X>47 THEN PSET (
X+3, Y+4)
1770 IF ED AND X>47 THEN PRESET
(X+3, Y+4)
1780 IF BD AND X>47 THEN GOSUB
20
1790 IF MD AND X>47 THEN GOSUB
50
1800 IF STICK (O) =0 THEN 1800
1810 PUT SPRITE O, (X, Y), 1,0
1820 X=X+CSR (STICK (O) , 1 ) : Y=Y+CS
R (STICK (O) ,2) :
1830 IF X<— 3 THEN X=-3
1840 IF X >252 THEN X=252
1850 IF Y>187 THEN Y=187
1860 IF Y<— 3 THEN Y=-3
1870 GOTO 1750
1880 7
1890 RESTORE 2130
1900 DIM CSR (8, 2)
1910 DIM TBL (3,7)
1920 DIM ER (8,8)
1930 DIM YG (8) , XG(8)
1940 FOR 1=1 TO 8
1950 FOR J=1 TO 2
1960 READ A : CSR ( I , J ) =A : I F JM0D2
=0 THEN YG ( I ) =A ELSE XG ( I ) =A
1970 NEXT J,I
1980 FOR 1=0 TO 2
1990 FOR J=0 TO 6
2000 READ TBL ( I, J) : NEXT J, I
2010 RETURN
2020 7
2030 RESTORE 2160
2040 FOR K=0 TO 1
2070 READ A: SS=S*+CHR* ( A)
2080 NEXT
2090 SPRITE* (K)=S*
2100 NEXT K
2110 RETURN
2120 7
2130 DATA 0,-1, 1,-1, 1,0, 1, 1,0, 1
,” 1 , 1 ,— 1 , 0 ,— 1,— 1
2140 DATA 1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18, 19,20,21
2150 7
2160 DATA 16,16,16,195,16,16,16
,0
2170 DATA 64,224,64,0,0,0,0,0
2180 7
2190 IF F=21 THEN RETURN
2200 BF=0 : CF=Q : O V=0 : LF=0
2210 PUT SPRITE 1 , (O, 209) : PUT S
PR I TE 2, (0,209)
2220 V1=V*16: W1=W+16
2230 FOR 1=1 TO 14
2240 FOR J=1 TO 14
2250 IF F’OINT ( Vl+1 , Wl+J ) =Bb I Hb
N C=FC ELSE C=BC
2260 PSET (32+1, 96+ J) ,C
2270 NEXT J, I
2280 GOSUB 2640
2^90 RETURN
2300 7
2310 7
2320 7
2330 SCREEN 0,0:KEY OFF
2340 PRINT TAB(5>;"/// SISTEMA
DE DISE"+CHR* (&HA5) +" 10///" : PRIN
T: PRINT
2350 PRINT TAB(l) 5 "SELECCIONE L
A OPCION"
2360 PR I NT T AB ( 1 ) ; " POS I C I ON ANDO
EL CURSOR SOBRE LA"
2370 PRINT TAB(l) ; "OPCION DEL M
ENU Y PRESIONE LA BARRA": PRINT T
AB ( 1 ) ; "DE ESPACIO": PRINT
2380 PRINT" 1 . CIRCULO: Pres. es
pació p/ definir": PRINT TAB(12)"
centro, nuevamen t e PRINT TAB(12
) "espacio p/ definir rad.y":PRIN
T TAB ( 12 ) "d i se"+CHR* (&HA4) +"ar "
2390 PRINT "2 . CIRCULO Como
ar r i ba"
2400 PRINT "3. LINEA: Pres. esp
acio p/ iniciar la": PRINT TAB (10
) "linea, pres. espacio de":PRINT
TAB(IO) "nuevo p/ d i se "+CHR* (&HA
4) +"arl a"
2410 PRINT "4 . PINTA: Pre s.espac
io p/ pintar el":PRINT TAB(10)"a
rea"
2420 PRINT "5. PINCEL: Pres . espa
cío p/ d i se "+CHR* (&HA4) +"ar . "
2430 PRINT " 6 . SAVE(S): Salva e
n cinta."
2440 PRINT: PRINT" Mas..."
2450 R*=INKEY*:IF R*="" THEN 24
50
2460 CLS
2470 PRINT "7. ELIPSE: como CIR
CULO, mas de f i n i r " : PRINT TAB ( 1 1 )
¿"radio también."
2480 PRINT " 8 . ELIPSE RELLENA:
como ar r i ba . "
2490 PRINT"9 . LAPIS: Como PINCE
L"
2500 PRINT" 10. CUADRICULADO: Di
s e " +CHR* ( &HA4 )+"ar cuadricula"
2510 PRINT"! 1. REVES: Revierte
color de fondo":PRINT TAB(ll)"co
n el de tinta. "
2520 PRINT" 12. LOAD: Carga grav
ación desde cinta."
2530 PRINT "13. CUADRADO: Como
para linea"
2540 PRINT" 14. CUADRADO... Como
ar r i ba"
2550 PRINT" 15. BORRAR: Como par
a LAPIS."
2560 PRINT "16. IMPRIMIR : Saca
por impresora"
2570 PRINT" 17. LIMPA PANTALLA"
2580 PRINT" 18. ESPEJO: Como par
a LAPIS"
2590 PRINT : PRINT" E j ecutar "
2600 R*=INKEYí: IF R*="" THEN 26
00
2610 RETURN
2640 RESTORE 2130
2650 FOR 1=1 TO 8 : FOR J=1 TO 2
2660 READ A: CSR ( I , J) =A: NEXT J, I
2670 RETURN
MLIVU UHUL
PROGRAMACION
APLICADA
La mejor forma de aprender BASIC
es ir programándolo a medida que lo
necesitemos.
Primero sería conveniente interiorizar-
nos en el tema sobre el que vamos a
programar.
Una vez que tengamos conocimiento
de los puntos más importantes del
problema que la máquina nos ayudará
a resolver, anotemos por orden de im-
portancia cuáles son los enigmas que
solucionará el programa.
Propongamos un ejemplo y programé-
moslo. Supongamos que queremos
estudiar los verbos. Entonces primero
sería conveniente repasar un poco es-
te tema y rescatar los puntos principa-
les. Sabemos que existen dos clases
de verbos: irregulares y regulares. Ha-
gamos un programa para los verbos
que pertenecen a este último grupo.
Los verbos se conjugan según el mo-
do, tiempo, persona y número.
Los verbos en infinitivo pueden termi-
nar en "ar", "er" o "ir".
Los terminados en "ar" pertenecen a la
"primera conjugación", los termina-
dos en "er" a la "segunda conjuga-
ción", y los que terminan en "ir" a la
"tercera". Lo más importante de tener
en cuenta es que los verbos regulares
de la primera conjugación, tienen las
mismas terminaciones.
Supongamos que nuestros intereses
primordiales son:
- Explicación básica sobre los verbos
con preguntas sobre lo enseñado.
- Conjugación de un verbo regular.
Al ser estas dos tareas diferentes, ha-
brá que tratarlas por separado.
Realicemos un diagrama (de bloque)
para desarrollar un poco más cada una
de las opciones que marcamos arriba.
En la figura 1 se muestra el diagrama
de bloques para la primera opción;
mientras que en la figura 2 aparece el
diagrama para la segunda.
Recordemos entonces que los diagra-
mas de bloques muestran en forma ge-
neral, las operaciones a realizar por
el programa.
Comencemos por la primera opción,
que abarca el tema de la explicación
sobre las propiedades verbales.
En esta parte habrá que entrar en la
computadora toda la información que
esperamos ver luego a modo de expli-
cación.
Cuando comencemos a programar,
tratemos de colocar mensajes aclara-
torios en el listado para que cuando los
leamos, identifiquemos inmediatamen-
te qué hace la porción de jeroglíficos
que leemos. La instrucción REM o el
apostrofe, permite colocar mensajes
aclaratorios en el listado sin afectar e¡
programa. Es decir que la computado-
ra no "leerá" nada que haya detrás del
REM o del apostrofe.
Copiemos la línea 10 de la figura 3:
10 REM EXPLICACIONES DE LOS
VERBOS.
Habíamos propuesto que salgan por
pantalla las explicaciones sobre los
verbos. Pero antes de mostrar por
pantalla algún mensaje, es convenien-
te asegurarnos que la pantalla esté
limpia para que no se mezcle con nues-
tros mensajes. Entonces busquemos
en el manual de la computadora algu-
na instrucción que despeje el "piza-
rrón".
La instrucción CLS limpia la pantalla.
Entonces, ésta va a ser la primera ins-
trucción del programa.
En las MSX, en la parte inferior del mo-
nitor aparecen escritos los comandos
que realizan las teclas de función. Pa-
ra borrar estas impresiones (porque
nada tienen que ver con nuestro pro-
grama) usemos KEY OFF.
Otro "chiche" para programar, es
escoger un color de fondo y otro de
tinta para que los mensajes aparezcan
i nuestra vista con algún efecto atrac-
tivo.
Con COLOR A,B escogemos como co-
lor de tinta a A y de fondo o papel a
B.
Podríamos pedir verde oscuro como
color de tinta y negro para el papel.
Tipiemos la segunda línea del progra-
ma que es la número 20 de la figura
3.
¿Qué nos va a explicar el pro-
grama?
Primero nos dirá cuáles son los acci-
dentes verbales y luego irá desarro-
llando cada uno de ellos. Con PRINT
"cadena de caracteres" imprimimos
en la pantalla desde el primer renglón
superior o debajo del último mensaje
Que apareció en la pantalla, todos los
caracteres encerrados entre comillas.
Es hora de copiar la línea 30. Aquí, en-
tre los dos puntos ":" y la "M" hay
ocho espacios en blanco. Esto se debe
a que en la pantalla, de la forma que es-
tamos trabajando, sólo entran 37 ca-
racteres a lo ancho. Desde el primer
espacio er> blanco después de las co-
millas, hasta los dos puntos (:) inclusi-
ve, hay 29 lugares, entonces con 8
espacios más, habría 38. O sea, pasa-
ríamos a la primera columna del si-
guiente renglón.
Desarrollemos cada uno de los cuatro
accidentes verbales, comenzando por
MODO.
PRINT sin nada entre comillas deja un
renglón en blanco.
Copiemos la línea 40. Las cuatro co-
mas que aparecen entre las comillas
(estas no encierran las comas sino que
pertenecen a las comillas de cierre y
apertura de una cadena de caracteres)
dejan un renglón en blanco. Esto equi-
valdría a decir una vez PRINT; pero es-
to lleva más tiempo que escribir sólo
4 comas.
Una vez aclarado el significado de la
primera propiedad, entremos los dis-
tintos modos que existen. Podemos
entrar ahora la línea 50.
A cada explicación es conveniente que
la acompañe un ejemplo.
^PRINT TAB(n) “cadena de caracte-
res", comenzará a imprimir los carac-
teres entre comillas a partir de la co-
lumna n, contando a partir de la izquier-
da. Tipeemos la línea 60.
La número 70 no trae nada nuevo y es
claro que imprime en pantalla... la de-
finición del SUBJUNTIVO, jmuy bien!!
Antes de seguir, contemos cuantos
renglones ocupamos en la pantalla.
Son en total 1 8, nos quedan sólo 5 dis-
ponibles.
Entonces imprimamos algo más pero
reservemos las dos últimas líneas de la
pantalla para mensajes aclaratorios.
Se pueden imprimir la cantidad de
mensajes que querramos, pero no es
conveniente superar los 24 renglones
(una pantalla) porque si ésto sucede,
las líneas subirán escapándose de
nuestra visión sin permitirnos enten-
der lo que contenían. Entonces cada
vez que hayamos terminado de impri-
mir la pantalla, imprimiremos un men-
saje: "PRESIONE ALGUNA TECLA
PARA CONTINUAR" y luego volva-
mos al asunto que estábamos aten-
diendo antes del cartel aclaratorio.
La instrucción GOSUB n, hace que el
programa al llegar a esta orden, salte
hasta la línea n, realice todas las ope-
raciones que hay hasta encontrar una
orden RETURN. Cuando un RETURN
es hallado, la máquina vuelve a la si-
guiente instrucción del GOSUB n. En-
tremos la línea 80. Aquí, se imprime un
ejemplo y luego saltamos a la línea le-
jana, como podría ser la línea 590. En
ésta, pedimos que el cursor se ubique
en la columna cero (la primera); línea
22 y luego que imprima una aclaración.
Pero aún no hemos puesto el RETURN
porque queremos que haga algo más.
En la línea 600 decimos que
si no hay ninguna tecla presionada en-
UN
IF INKEY$=""
torces vuelva
< ^
THEN
que limpie la pantalla y
a la línea 600, sino
ELSE
luego que
CLS
vuelva a la siguiente instrucción des-
RETURN
de donde se desvió.
« ^
Aquí vimos algunas cosas nuevas co-
mo la instrucción IF... THEN... ELSE.
Esto se lee así: si (IF) pasa tal cosa, en-
tonces (THEN) hacer ésto, sino (ELSE)
hacer esto otro.
Los dos puntos separan instruccio-
nes, ésta evita que tengamos que es-
cribir una instrucción por renglón (fi-
gura 4).
INKEY$= lee el carácter que se pre-
sionó desde el teclado. Las dos comi-
llas seguidas significa que no se tocó
ninguna tecla.
Una vez que encontró el R ETU R N, vuel-
ve, en nuestro caso, a la línea 90 por-
que es la siguiente instrucción des-
pués del GOSUB 590.
Seguimos entrando información y ejem-
plos sobre los modos verbales y sin na-
da nuevo hasta la línea 120 inclusive.
Al terminar con un ítem, lo mejor es
averiguar si se entendió, copiemos
la línea 130.
En la 1 40 comenzamos con una peque-
ña batería de preguntas. En la línea
150 volvemos a usar el recurso GO-
SUB pero esta vez nos vamos a la lí-
nea 610.
Aquí imprimimos los modos que expli-
camos y pasamos a la línea siguiente,
la 620; donde preguntaremos con un
INPUT el número que escogemos co-
mo respuesta. La instrucción INPUT
"mensaje" ;X (basta con fijarse en el
manual de la computadora para ma-
yor información de esta sentencia)
acepta un valor para la variable X. Des-
pués del INPUT, hay un RETURN, en-
tonces volvemos a la línea 160. En
esta línea decimos que si
^Tf*
nuestra respuesta fue 3 entonces
^ *
X=3 THEN
Presentación
de pantalla
con menú de
opciones
I
Conjuga
verbo
en indicativo
I-
Conjuga
verbo
en subjuntivo
: — i
Conjugación
para el
potencial
r_ j _
Conjugación
para
imperativo
Figura 2
Figura 1
pasemos (sin volver) a la línea 180.
>Ss -— ■ - ^
GOTO 180
Observemos que la diferencia que
existe entre GOTO y GOSUB es que la
primera salta hasta una línea determi-
nada pero no vuelve como el GOSUB.
Entonces no hace falta usar el GOTO
con un RETURN.
También puede suceder que nuestra
respuesta no sea 3. En ese caso, la si-
guiente instrucción después del IF...
THEN, en nuestro programa, pasa a la
línea 170, donde aclaramos con soni-
do (BEEP) y un mensaje, que hemos
fallado en la contestación. Salta nue-
vamente a la línea 590. Cuando en-
cuentre un RETURN pasa a la instruc-
ción siguiente al GOSUB, o sea, GO-
TO 30. Ahora la computadora pasa a la
línea 30 que es el principio de la expli-
cación de los verbos.
En la 1 80 damos otra pregunta. En la
1 90 decimos que si elegimos la opción
1, pasamos a la tercera pregunta pero
si fallamos, volvemos a comenzar la
explicación. Así sigue hasta la línea
270. Acá explicamos otro ítem: el tiem-
po verbal. En las dos líneas siguientes
mostramos ejemplos. A partir de la
300, volvemos a transformarnos en
verdugos examinadores porque co-
menzamos nuevamente a tomar lec-
ción. Las respuestas se reducen en
contestar SI o NO. Entremos hasta la
linea 320. Preguntamos, y si nuestra
respuesta no es "SI" o "si", entonces
volvemos a comenzar la explicación
del tiempo.
Figura 4
ÍO CLS ~1
20 PRimj- 10 CLS SPRINT
En la 330 hacemos otra pregunta y 340
es la verificación de nuestra respues-
ta. Sigue igual, sin nada nuevo, hasta la
línea 390 donde pedimos limpiar la
pantalla y dar la definición de "perso-
na"; otro ítem de los accidentes ver-
bales.
A partir de aquí no existe nada nuevo.
Sólo usamos PRINT, IF... THEN, GO-
SUB y GOTO.
En lá línea 400 damos los ejemplos de
personas, en la 410 definimos "núme-
ro'6 para las propiedades verbales.
Desde 420, hasta la línea 510, hace-
mos preguntas.
En la línea 530 hasta la 570 damos al-
gunas definiciones más sobre verbos,
pero, sin hacer preguntas. En la 580
aclaramos que se acabó la enseñanza y
volvemos al menú. Las líneas 590 has-
ta 620 ya las comentamos.
¿Qué hace falta decirle a la
computadora para que conju-
gue un verbo?
Vamos a realizar la segunda parte del
programa.
¿Qué pretendemos que haga la com-
putadora en esta parte?
Nos tendría que pedir un verbo y fijar-
se a qué conjugación corresponde.
Luego preguntarnos en qué modo y
tiempo queremos conjugarlo. En la fi-
gura 2 presentamos este diagrama de
bloques.
Como primera instrucción de esta par-
te, también va a ser un CLS, porque
nos aseguraremos así, que la pantalla
no tenga "basura" que obstaculice la
lectura de los mensajes de esta por-
ción del programa.
Los números de línea no tienen porque
seguir en forma creciente a la porción
del programa anterior, pero sí es im-
portante que los valores de las líneas
no coincidan. Por ejemplo, comence-
mos desde la línea 1000. Copiemos a
partir de la línea con este número del
listado de la figura 3.
En la segunda línea pedimos la entra-
da de un verbo en infinitivo.
La línea 1 030 es interesante pues se-
paramos del verbo entrado, la raíz de
la terminación.
Sabemos que la terminación, son sólo
las dos últimas letras. Entonces, con la
instrucción necesitaríamos una ins-
10 REM EXPLICACION DE LOS VERBOS
20 CLS= KEY OFF: COLOR 12,1
30 PRINT" Los accidentes verbale
s son: , MODO, TIEMPO, PERSO
NA y NUMERO."
40 PRINT: PRINT"MODO" , ,,, " Indica
las distinta antitudes gu
e habla:"
30 PRINT: PRINT: PRINT"- INDICATIV
O: expresa como real el signi
ficado del verbo."
60 PRINT: PRINT TAB (5) "El cartero
llamó a mí puerta."
70 PRINT: PRINT »- SUBJUNTIVO: ex
presa un deseo o una duda."
80 PRINT: PRINT TAB(5)"Que el car
tero llame a mi puerta": GÜSUB 59
trucción que tome las dos últimas le-
tras. La instrucción MID$(X$,A,B) to-
ma de la cadena de caracteres X$, los
caracteres entre A y B.
Por eso, en la línea 1030, RAIZ$ repre-
senta a la raíz del verbo entrado y TER-
Ml$ a la terminación de dicho verbo.
¿Qué significará la instrucción IF A OR
B THEN...? Con sólo traducirla del in-
glés, significa que si pasa A o si pasa B,
entonces... Esta instrucción se utiliza
en la líne 1035 para distinguir a qué
grupo pertenece el verbo entrado; si a
los de primera conjugación, segunda
o tercera.
Los datos que van a ser leídos por el
programa, pero que no hagan falta en-
trar desde el teclado, se guardarán en
sentencias DATAs. En los programas
puede haber varias de estas senten-
cias de almacenamiento de datos.
Con la instrucción READ A$ de la lí-
nea 1038 lee un dato de estas senten-
cias DATA. Pero la lectura es secuen-
cial, es decir que para leer el décimo
dato habrá que leer o saltar los nue-
ve anteriores.
En la línea 1037 encontramos la ins-
trucción RESTORE 1039, que indica a
la computadora posicionarse en la lí-
nea 1039 para leer datos. ¿Pero, por
qué hace falta agragar esta instruc-
ción?
Pues si el último dato leído fue, por
ejemplo el quinto de la línea 1235 en-
tonces al encontrar un READ leerá a
partir del secto de la línea 1235.
En la línea 1038 encontramos la ins-
trucción RESTORE 1039, que indica a
la computadora posicionarse en la lí-
nea 1039 para leer datos.
¿Por qué hace falta agregar esta ins-
trucción?
Porque si el último dato leído fue por
ejemplo el quinto de la línea 1235 en-
tonces al encontrar un READ leerá a
partir del sexto dato de la línea 1235.
En la línea 1038 la instrucción FOR
F=1 T0 6 ... NEXT ordena que se ejecu-
ten 6 veces las instrucciones que se
hallan entre el FOR y el NEXT.
La definición de esta instrucción es:
FOR N=A TO B STEP C... NEXT. Esto
quiere decir que se realizarán las ins-
trucciones entre el FOR y el NEXT
todas las veces que sean necesarias
para que N (con valor inicial A), incre-
o
90 PRINT: PRINT "- POTENCIAL: exp
resa posibilidad."
100 PRINT : PRINT TAB(5)"E1 cárter
o llamaría a mi puerta."
110 PRINT: PRINT IMPERATIVO: e
xpresa pedido, orden, invitació
n o consejo"
120 PRINT : PRINT TAB(5)"Que llame
, el cartero, a mi puerta.": GOSU
B 590
130 PRINT" Veremos si entendió lo
que vimos recién"
140 PRINT: PRINT "A qué modo corr
esponden las siguien- tes oración
es: ••
150 PRINT: PRINT: PRINT TAB (5) "*
mentándose C unidades, alcance o su-
pere el valor de B. Esto, en computa-
ción se denomina "loop". La variable
PER$(n) en realidad es un arreglo que
almacena los valores leídos de la lí-
nea 1039 por el READ.
La línea 1050 nos pide una respuesta
desde el teclado que puede ser un nú-
mero entre 1 y 4 inclusive.
En la 1060 decidimos que si nuestra
respuesta fue 1, pasaremos a la línea
1070, si fue 2 a la 1310, si en cambio
fue 3 a la 1 450, pero si contestamos 4,
pasamos a la línea 1540.
Para realizar ésto, usamos el recurso
ON N GOTO A,B,C... porque según
sea el valor de N, salta a la línea A,B
ó C.
Ya nos quedan pocas cosas por apren-
der. Por último vamos a ver algunos se-
paradores de campo de la instrucción
PRINT.
Vimos que las comas en un PRINT per-
miten comenzar en la primera columna
o en la décimo quinta; éste es un sepa-
rador de campo.
Otro es el punto y coma (;): indica que
la siguiente impresión se efectuará pe-
gada a la última realizada. Otro sepa-
rador que realiza la misma operación
es el signo "+", pero ésta se utiliza en-
tre variables caracteres. Por ejemplo,
PRINT A$+B$ imprimirá A$ y pegado
imprimirá B$. Pero PRINT A+ imprimi-
rá el resultado de sumar A con B.
El resto del programa no contiene ins-
trucciones nuevas.
Pero sólo tenemos dos partes del pro-
grama y están "desconectadas". Con
las líneas 700-990 unimos ambas ruti-
nas sin usar instrucciones desconoci-
das.
Al programa se le pueden agregar infi-
nitas variantes, pero las dejamos libe-
radas a la imaginación del lector. Co-
mo sugerencia, decimos que se le po-
dría agregar la conjugación de algunos
verbos irregulares como SER y ESTAR.
Recomendamos mantener los núme-
ros de líneas porque en números suce-
sivos ampliaremos el programa.
Una vez que tengamos copiado todo el
listado de la figura 3, en ves de hacerlo
correr con RUN, demos la orden con
GOTO 700.
Esta instrucción indica que el comien-
zo del programa es la línea 700.
Claudio escribiría una poesía":G0
SUB 610
160 IF X=3 THEN GOTO 180
170 BEEP: PRINT"Cr eo que no enten
dió bien la expl i ca-c i ón, volvamo
s a leerla. Su respuestafue erron
ea, era en el modo POTENCIAL" : GOS
UB 590: GOTO 30
180 PRINT: PRINT: PRINT TAB (5) "*
Claudio escribió una poesía": GOSU
B 610
190 IF X=1 THEN GOTO 210
200 BEEP: PRINT"Será mejor que vo
lvamos a leer la ex— plicación por
que la respuesta correcta
era INDICATIVO .": GOSUB 590: GOTO
30
210 PRINT: PRINT: PRINT TAB (5) "*
Escribe? Claudio? una poesía":GOS
UB 610
220 IF X=4 THEN GOTO 240
230 BEEP: PRINT "Su respuesta no e
s satisfactoria? erael modo IMPER
ATIVO. Volvamos a leer la explic
ac i ón ."SPRINT : GOSUB 590: GOTO 3
0
240 PRINT: PRINT: PRINT TAB (5) "*
Que Claudio escriba una poesía" :G
OSUB 610
250 IF X=2 THEN PRINT: PRINT: GOSU
B 590: GOTO 270
260 BEEF*: PRINT "Lást i ma que se ha
ya equivocado a estaal tura? pero
la respuesta correcta era SUBJU
NTIVO. Tendrá que volver a leer
la explicación-": PRINT: GOSUB 59
O: GOTO 30
270 PRINT "TIEMPO" ? ? ? ? " Indica cu
ándo se cumple la acción verba
1 : "
280 PRINT : PRINT"- Tiempos SIMPL
ES: presente perfecto? pretérito
i mp erfecto? pretérito i n d e f
inido? futuro imperfecto"
290 PRINT: PRINT"- Tiempos COMPU
ESTOS: pretérito perfecto?
pretérito anterior? preté
rito plMscuanper f ecto? futuro p
erfecto": GOSUB 590
300 PRINT"Llegó el momento de sa
ber si aprendiólo que le acabo de
explicar-": PRINT
310 INPUT"* Es el PRETERITO 1NDE
FINIDO simple. <S/N)";X*
320 IF X*<>"s" AND X*<>"S" THEN
PRINT"Preste mas atención? volver
é a expl i -cársel o - " : GOSUB 590: GÜ
TO 270
330 PRINT: INPUT"* Es compuesto e
1 FUTURO IMPERFECTO. <S/N)";X*
340 IF X*<>"N" AND X*<>"r«" THEN
PRINT“Pr es t e mas atención- volver
é a e xpl i -cársel o .": GU8UB 5vo: taU
TO 270
350 PRINT: INPUT"* Es compuesto e
1 PRETERITO ANTERIOR. CS/N>"?X*
360 IF X*<>"s" AND X*<>"S" THEN
PRINT"Preste mas atención? volver
é a e xpl i -cársel o .": GOSUB 590= GO
TO 270
370 INPUT"* Es el PRETERITO PLUS
CUANPERFECTO compuesto. (S/
N) X*
380 IF X*< >"s" AND X*<>"S" THEN
PRINT"F*reste mas atención? volver
é a expl i -cársel o GOSUB 590: GO
TO 270
390 CLS: PRINT "PERSONA" ? , , , " Indi
ca quién realiza la acción
verbaly puede ser: "
400 PRINT: PRINT" 1- yo"?"l- noso
tros"? "2— tú" ? "2- voso t ros" ? "3- é
1 " ? "3- el 1 os"
410 PRINT: PRINT: PRINT "NUMERO" , ,
? ? " Indica si el verbo se refiere
a uno o a muchos? SINGULAR o PL
URAL res- pee t i vamen t e . " : GOSUB
590
420 PRINT "Haré algunas pregunta
s para seber si entendió este úl t
i mo pun t o . "
430 INPUT " *Cuál es la primera
persona del s i ngul ar " ; X*
440 IF X*<>"YO" AND X*<>"yo" THE
N PRINT"Será mejor que le vuelva
a explicar esto último porque pa
rece que no me entend i ó . ": GOSUB
590: GOTO 390
450 INPUT " *Cuál es la tercera
persona del sinqular"; X$
460 IF X*<>"él" AND X*<>"EL" THE
N PRINT"Será mejor que le vuelva
a explicar esto último porque pa
rece que no me en t end i ó - " : GOSUB
590: GOTO 390
470 INPUT " *Cuál es la segunda
persona del plural";X*
480 IF X*<>" voso tros" AND X*<>"V
0S0TR0S" THEN PRINT"Será mejor qu
e le vuelva a explicar esto úl t i
mo porque parece que no me enten
d i ó . " : GOSUB 590: GOTO 390
500 INPUT " *Cuál es la tercera
persona del plural ";X*
510 IF X$< >" el 1 os" AND X*O"ELL0
S" THEN PRINT "Sera mejor que le v
uelva a explicar esto último por
que parece que no me entendió-":
GOSUB 590: GOTO 390
520 CLS: PRINT" Al conjugar un ver
bo se lo debe deciren forma orden
ada en los distintos modos? tie
mpos? personas y números."
530 PRINT: PRINT"Los verbos se c
lasifican según sus conjugación
es y esto depende de las termina
ciones verbales."
550 PR I NT : F’R I NT " CON JUGAC I ONES " ? "
TERM I N AC I ONES " : PR I NT
560 PRINT" pr i mera" ? " AR"? "según
da"?" ER" ? "tercera"? " IR"
570 PRINT: PRINT"Como por ejemplo
los verbos amAR? tenER y part
IR que corresponden a la primera?
segunda y tercera conju- qac i
ón r esoec t i vamen t e .": GOSUB 59Ó
580 LOCATE 0? 13: PRINT "Aquí ter
minó la explicación de los verb
os.": GOSUB 590: GOTO 700
590 LOCATE 0,22: PRINT "Presione
alquna tecla para continuar"
600’ IF INKEY*=" " THEN 600 ELSE C
LS: RETURN
610 PRINT: PRINT "1- Indicativo"
, "2- Sub j unt i vo" ? "3- Potencial"?"
4- Imperativo"
620 INPUT "Qué numero elige: " ; X
: RETURN
700 CLS : KEY OFF: COLOR 10,1
710 LOCATE 0,8: PRINT "1- Explica
c i on .
720 LOCATE 0?10:F*RINT "2- Conjug
ación. "
980 LOCATE 0,22: INPUT "SU ELECC
ION " ; ELEC
990 ON ELEC GOTO 10,1000: GOTO 70
0
1000 REM CO JUGAR VERBOS
1010 CLS
1020 INPUT" Entre el verbo que qu
1 ere conjuqar " ; X*
1025 IF X*="FIN" OR X*="fin" THE
N GOTO 700
1030 RAIZ*=MID*(X*, l?LEN(X*>-2) :
TERMI*=MID* (X*? LEN (X*) -2+1 ? LEN (X
*> )
1035 IF TERMI*="AR" OR TERMI*="a
r" THEN T=1 ELSE IF TERMI*="ER" O
R TERMI*="er" THEN T-2 ELSE T=3
1036 IF T=1 THEN T*="ado" ELSE T
*=" i do"
1037 RESTORE 1039
1038 FOR F=1 TO 6: READ A*: PER*
(F > =A*: NEXT
1039 DATA yo? t ú? él ? nosotros? voso
t ros? el 1 os
1040 LOCATE O? 5: PRINT" 1- Indica
t i vo" ? "2— Sub j un t i vo " ? "3- Potenci
al"? "4- Imperativo"
1050 LOCATE O? 7: PRINT: INPUT "En
qué modo quiere conjuqar al verbo
: " ; M
1060 ON M GOTO 1070, 1310, 1450? 15
40
1070 REM INDICATIVO
1080 CLS: PRINT "1- Presente",?"
2- Pretérito imper " 3- Rretér i t
0 indef."?"4— Futuro imper."? "5-
Pretér i to perf."?"6— Pretérito pl
uscuan . " ? "7— Pretérito anterior",
"8— Futuro perf ."
1090 LOCATE O? 13: INPUT "En qué
t iempo verbal lo qu i ere: " ; TIE: CL
o
1210 IF TIE>4 THEN GOTO 1250
1215 RESTORE 1235: IF T=1 AND TI
E= 1 THEN 1230
1220 FOR F=1 TO 18* (TIE— 1 ) +6+ <T-
í> : READ A*: NEXT
1230 FOR F=1 TO 6: READ A*: PRIN
T PER* (F) ? RAI Z*+A* : NEXT: GOSUB
1970
1235 DATA o? as? a? amos? á i s? an? o? e
s?e?emos? éis?en?o,es?e? imos?ís?en
? aba? abas? aba? ábamos? abais? aban ? í
a ? í as ? í a ? í amos ? xais? xan
1236 DATA í a? í as? í a? í amos? í a i s? í
an ? é ? as t e ? ó ? amos? as t e is?aron?í? is
te? i ó? irnos? isteis? ieron?í? iste? ió
? irnos? isteis? ieron
1237 DATA aré ? arás? ará? aremos? ar
é i s? arán? eré ? erás? erá? eremos? eré i
s? erán? iré? i rás? irá? iremos? iréis?
1 rán
1250 IF TIE=5 THEN RESTORE 1270
ELSE IF TIE=6 THEN RESTORE 1280 E
LSE IF TIE=7 THEN RESTORE 1290 EL
SE RESTORE 1300
1260 FÜR F=i 1U 6: KLAD A*: PRIN
T PER* ( F ) T AB (11) A* ; " " ; RAI Z*+T*: N
EXT: GOSUB 1970
1270 DATA he ? has? ha? hemos? habé i s
? han
1280 DATA había? habías? había? hab
í amos? habíais?habían
1290 DATA hube ? hub i s t e ? hubo ? hub i
mos? hub i s t e i s? hub i er on
1300 DATA habré? habrás? habrá? hab
remos? habré i s? habrán
1310 REM SUBJUNTIVO
1320 CLS: PRINT "1- Presente"?,"
2- Pretérito imper.", "3- Futuro i
mper ."? "4- Pretérito perf."?"5- P
retérito pl uscuan ."? "6— Futuro pe
rf ."
1330 LOCATE O, 13: INPUT "En qué
tiempo verbal lo qu i er e : " ; TIE: CL
o
1350 IF TIE>3 THEN 1400
1355 RESTORE 1380: IF T=1 AND TI
E=1 THEN 1370
1360 FOR F= 1 TO 18* (TIE-l ) +6* <T-
1): READ A*: NEXT
1370 FOR F=1 TO 6: READ A*: PRIN
T PER* (F) ? RAI Z*+A*: NEXT: GOSUB
1970: GOTO 1000
1380 DATA e ? es? e ? emos? é i s? en? a? a
s? a? amos? á i s? an ? a? as? a? amos? á i s? a
n?ara o ase? aras o ases? ara o ase
?áramos o ásemos?arais o aseis?ar
an o asen
1382 DATA i era o i ese? i eras o le
ses? i era o i ese? ¡éramos o i ésemos
? ¡erais o ieseis, ¡eran o iesen? ie
ra o i ese? ¡eras o ¡eses? i era o ie
se? iéramos o i ésemos? i e ra i s o i es
e i s? i eran o i esen
1383 DATA ar e ? ar es ? ar e ? ár emos, ar
eis?aren? i ere? i eres, «ere? iéremos?
iereis? ¡eren? iere? «eres? i ere? iére
mos? iereis? ¡eren
1400 IF TIE=4 THEN RESTORE 1420
ELSE IF TIE=5 THEN RESTORE 1430 E
LSE RESTORE 1440
1410 FOR F=1 TO 6: READ A*: PRIN
T PER* (F) TAB (10) A*; " " ; RAI Z*+T*: N
EXT: GOSUB 1970
1420 DATA haya? hayas, haya? hayamo
s? hayá i s? hayan
1430 DATA hubiera o hub i ese? hub i
eras o hub i eses? hub i era o hubiese
? hub i éramos o hub i ésemos? hub i era i
s o hub i ese i s? hub i eran o hubiesen
1440 DATA hub i ere ? hub i eres? hub i e
re ? hub i é remos, hub i ere i s? hub i eren
1450 REM POTENCIAL
1460 CLS: PRINT" 1- Simple", "2- C
ompuesto"
1470 LOCATE O, 13: PRINT: INPUT "En
qué tiempo quiere conjugarlo ";TI
É: CLS
1480 IF TIE=2 THEN 1515
1485 RESTORE 1510: IF- T=1 AND TI
E=1 THEN 1500
1490 FOR F=1 TO 6*(T-1):READ A*:
NEXT
1500 FOR F=1 TO 6: READ A*: PRIN
T PER* (F) ? RAI Z*+A*: NEXT : GOSUB
1970
1510 DATA arí a? ar í as? aria? arí amo
s , ar í a i s , ar í an , e r í a ? e r í as ? e r í a ? er
í amos? eríais? erían, iría? i rías? i rí
a ? i r í amos ? iríais? irían
1515 RESTORE 1530
1520 FOR F=1 TO 6: READ A*: PRIN
T PER* (F) TAB (11) A*; " ";RAIZ*+T*:N
EX I : GUSUB 1 Y/U: bU I U iOUO
1530 DATA habría? habrías? habría?
habríamos, habrí a i s? habrí an
1540 REM IMPERATIVO
1550 CLS : RESTORE 1600: IF T=1 TH
EN 1570
1560 FOR F=1 TO 5*<T-1):READ A$:
NEXT
1570 FOR F=1 TO 5: READ A*
1580 PRINT RAI Z*+A* TAB (10) PER* (
F+l)
1590 NEXT: GOTO 1970: GOTO 1000
1600 DATA a? e? emos? ad? en? e ? a? amo
s? ed? an? e? a? amos, id,an
1970 LOCATE O, 22: PRINT "Presione
alguna tecla para continuar"
1980 IF INKEY*=" " THEN 1980 ELSE
GOTO 1000
es presentamos
aquí una interesan-
gl te versión de un jue-
^ go con el que ha-
brán pasado horas y gasta-
do más de una ficha en Mar
del Plata.
Fue implementada por uno
de nuestros colaboradores
y amigo Gustavo Faigen-
baum, docente del Club de
usuarios de MSX, instalado
en el CEDEI.
Dejemos pues que él mis-
mo nos explique su progra-
ma:
LADRI es una versión sim-
plificada del ya clásico
"Break Out".
Como se ve, el listado es
corto e íntegramente en BA-
SIC.
Si bien esto puede quitar-
nos un poco de definición y
velocidad, no debemos to-
mar al listado de LADRI só-
lo como un juego, sino co-
mo una demostración de lo
mucho que se puede hacer
en poco tiempo y con algo
de imaginación, programan-
do en BASIC-MSX.
Notemos que para distin-
guir el choque de la pelota
contra la raqueta se usa la
instrucción "ON SPRITE
GOSUB". En cambio para
localizar el choque contra
los límites de la pantalla
se usa la función "POINT".
Estructura del
programa
10 - 330 : Inicialización de
variables, sprites e imagen
de pantalla.
340 : Movimiento de la pa-
leta.
350 - 400 : Movimiento de
la pelotita.
41 0 - 490 : Destrucción de
ladrillos. En la línea 470 se
contempla la posibilidad de
terminar con una pared.
500 - 530 : Subrutina de
choque de la paleta con la
pelota.
540 - 570 : Subrutina de
pérdida de la pelotita.
580 - 610 : Subrutinas au-
xiliares de cálculo de direc-
ción de la pelota.
620 - 790 : Finalización del
juego y cálculo del record.
10 REM******* LADRI ***+,*:*******
20 REM**P0R GUSTAVO FAIGENBAUM**
30 COLOR 11,1,1
40 N=0
50 J=5
60 SCREEN2, 3
70 RESTORE
80 P*="":B=0
90 SPRITE ON
100 ON SPRITE GOSUB 490
110 FOR A=0 TO 27
120 P*=P*+CHR*(255>
130 NEXT
140 SPRITE* (O) =P*
150 P*=""
160 FOR P=0 TO 7
170 READ A
180 P*=P*+CHR*(A)
190 NEXT
200 CLS
210 SPRITE* (2>=P*
220 DATA O, 0,60 ,60 ,60,60 ,0,
O
230 W=N+3
240 FOR A=20T096STEP 12
250 FOR P=0 TO 240 STEP 21
260 LINE (P, A) -STEP (19,10),11-A
/ 1 1 , BF
270 NEXT
280 NEXT
290 PUTSPR I TEO , (60, 173) , 12
300 IF STR I G ( O ) < >— 1 THEN 300
310 BEEP
320 X=60sZ=3:Y=110sV=l .5= GOSUB 5
70: GOSUB 590
330 IF ST I CK ( O ) =3 AND X<212THENX
=X+8: PUTSPR I TEO, (X, 173) , 12ELSEIFS
TICK (O) =7 AND X >0THENX=X-8: PUT SP
RITE O, (X, 173) , 12
340 IF YC-WTHEN W=-W:V=V* INT(1.
08+RND ( 1 ) ) : BEEP: GOSUB 590
350 IF ZC-VTHEN V=ABS ( V) : BEEP: GO
SUB 570
360 IF Z+V >232THEN V=ABS ( V) *-l : B
EEP: GOSUB 570
370 Y=Y+W:Z=Z+V
380 PUT SPRITE2, (Z* Y) , 14
390 I FY > 1 88THÉN530
400 IFABS (POINT ( Z+C, Y+D) ) =1THEN3
30
410 A=POINT(Z+C, Y+D)
420 PAINT (Z+C, Y+D) ,1,1
430 BEEP
440 W=-W: GOSUB 590
450 B=B+A
460 IF B=456 THEN N=N+1:SCREEN 1
: PRINT"Lo felicito .Puntaje hasta
el momento: " N * 456 , "Pr
epare^e para nueva serie" :FOR I=*
1 TO 3000: NEXT: SCREEN 2, 3: GOTO 60
470 IF A+N>ABS (W) THEN W=SGN(W)*(
A+N-l ) : V= V*INT(1 .05+RNDQ) )
480 GOTO 330
490 IF Y< 170 THEN W=-ABS (W) : ELSE
V=— V
500 BEEP
510 Z=Z+V: Y=Y+W: PUT SPRITE2, (Z, Y
), 14: GOSUB 590: GOSUB 570
520 RETURN
530 W=N+2
540 J=J-1
550 IF J=OTHEN 610
560 GOTO 290
570 IF V>0 THEN C=8:ELSE C=0
580 RETURN
590 IF W>0 THEN D=8:ELSE D=0
600 RETURN
610 SCREEN 1
620 PRI NT "PUNTAJE FINAL " ; N*456+
B
630 IF N*456+B>ME THEN PRINT"LO
FELICITO, USTED HA BATIDO EL RECC
RD „ " : LINE INPUT "¿COMO SE LLAMA?
" ; ME*: ME=N*456+B
640 PRI NT
650 PRI NT "RECORD " ; ME; " POR " ; ME
*
660 PRI NT "¿DESEA VOLVER A JUGAR?
(s/n) "
670 A*= I NPUT * ( 1 )
680 IF A*= " n " OR A*= " N " THEN END
690 IF A*= " S " OR A*= " s " THEN 40
700 GOTO 670
CONCURSO DE
j 1
PROGRAMAS
■
auspiciado por TELEMATICA S.A. que proveerá los siguientes Premios:
Un nprifóripn ( a elecc 'ón entre un monitor, ¡InaRoPO para trabajar en el
Ull pCIIICIIUU una diskettera y una impresora). Ulld UCud Departamento de Investigación
y Desarrollo de Telemática S.A.
S E G U N DO P R E M I O
Un npriférirn ( a e|ección entre un monitor '
Ull JJGIIICIIuU una diskettera y una impresora).
En caso de que el ganador no pueda utilizar la beca será ofrecida a quien obtenga el segundo premio, y si este
tampoco pudiera aprovecharla se otorgará a alguno de los participantes del certamen que se hubiera destacado.
CCDCPI A I Entre los programas recibidos, algunos de ellos podrán ser editados por
Cdl CUI/AL Prosoft, reconociéndose los derechos de autor.
lemas:
TRIipn Premiaremos al programador que logre la mejor versión de este
1 ÍiUuUe tradicional juego de salón.
nc IMTpl IRFNP5A L ° s i ue 9° s que nos inspiren podrán ser "El Fs-
UL Mi I t LIU Lili ÜlftEtanciero" o temas originales que sigan la línea
tir sobre el límite entre la simulación y la inteligencia de la computadora.
Obviamente la única forma de lograr esto será siguiendo las reglas propuestas de la Inteligencia
artificial. Por esto se considerarán para premiar esta categoría, además de las reglas detalladas
más abajo, la capacidad de auto-aprendizaje del programa, el nivel de inferencia del mismo, la ca-
pacidad y modo de almacenamiento de su base de datos, y principalmente su analizador sintáctico
dado que hasta el momento no se ha logrado uno que dé suficiente credibilidad de que estamos
frente a un ser racional que entiende nuestro idioma y no frente a una máquina a la que debemos
hablarle con verbos en infinitivo ai mejor estilo Tarzán (sin menospreciar a este último).
PROFESIONAL O GESTION:
lema:
I D D C Dentro de este tema podrán figurar programas de las más diversas
LIDÍlki aplicaciones.
BASES: No sólo será indispensable que el programa enviado funcione correctamente sino que además
debe cumplir con ciertas reglas.
• Programación estructurada en bloques fácilmente diferenciabas.
• Fácil seguimiento dei mismo y detalle de éste como parte de su documentación. (Diagrama de
bloques con ios números de línea que ios identifiquen).
• Aclaración yetara explicación de ios algoritmos utilizados, deben figurar como parte de ia documentación.
• Las variables y/o direcciones de memoria utilizados también se deben incluir en esta documentación.
• Listado, de nemónicos assembier y ia localización en memoria si es que se utiliza este tipo de lenguaje.
• Calidad y originalidad de gráficos, sonidos y pantallas de menú.
• E! programa debe ajustarse a alguno de los temas propuestos más arriba. Esto es ELIMINATOR/O.
Los trabajos deberán enviarse antes del 30 de noviembre próximo (cierre del certámen) a: Paraná 720, piso 5 o ,
(1017) Capital Federal.
CREATIVIDAD: 5
PRESENTACION: 2
A TRACCIO N f ; 7
GRAFICOS: 8
SONIDO: 6
TIPO: ENTRETENIMIENTO
PRODUCE: Bitgame
rbitando en torno de algún plane-
ta, nuestra nave debe defenderse
de otras naves y seres extraños.
Esto, además de esquivar lluvias
tupidas de meteoros gigantescos que in-
vaden nuestra órbita.
BATTLE CROSS
El juego es simple y tradicional. No se ha in-
novado nada, pero en conjunto resulta muy
atractivo por sus gráficos y la acción que
desarrolla y que nos obliga a mantener.
Para los amaptes de los juegos de acción
galáctica tradicional, tipo PARSEC, este
programa no los defraudará. Bienvenidos al
hostil universo.
TOEMI
CREATIVIDAD: 6
PRESENTACION: 4
ATRACCION: 9
GRAFICOS: 8
SONIDO: 7
TIPO: ENTRETENIMIENTO
PROD UCET Bitgame
ste juego puede enrolarse dentro
de los de acción espacial, en los
que el desarrollo transcurre desde
la cabina de una nave intergalác-
tica.
Un poderoso láser es la única arma dispo-
nible para defendernos de los ataques de los
objetos voladores no identificados.
Cuatro grandes reactores son los encarga-
dos de propulsar y guiar a nuestro artefacto
por el espacio infinito.
Estos son comandados desde las hermosas
teclas azules de cursor.
El desarrollo, si bien no es original del autor,
no lo desmerece en absoluto pues la idea
base ha sido complementada por buenas y
originales rutinas.
Entre ellas, una que nos felicita luego de ha-
ber cumplido parte de la misión, muestra
una excelente escena en la que un trasbor-
dador espacial abre su bodega para proveer-
nos del indispensable combustible, y en
nuestro visor aparece acompañándolo len-
tamente un enorme planeta.
En resumen, es un buen juego, que nos
transportará efectivamente hacia la des-
preocupación, por lo menos momentánea.
AJEDREZ
CREATIVIDAD: -
PRESENTACION: 5
ATRACCION: 10
GRAFICOS: 8
SONIDO: 7
TIPO : ENTRETENIMIENTO
PRODUCE: Bitgame
ste es un gran desarrollo, hecho
sin duda con sendos conocimien-
1 tos de las reglas de este juego o
deporte (para no entrar en ese
dilema), que realmente atrapará a los aman-
tes de este eterno pasatiempo: El Ludo.
—¿Qué...?, ah sí, El Ajedrez. Perdón.
En sí, el programa no defraudará a los exi-
gentes y expertos jugadores ni en calidad
gráfica, ni en la oposición que la máquina
ofrece en sus más altos niveles.
Así, su adquisición es una buena idea, para
desperdiciar el tiempo inteligentemente.
INGLES I
CREATIVIDAD: 8
PRESENTACION: 7
ATRA CCIONj_8
GRAFICOS: 7
SONIDO: 5
TIPO EDUCATIVO
PRODUCE: Bitgame
i alguna vez tuvimos la intención
de buscar un juego que permitiera
practicar las estructuras básicas
del idioma inglés y al mismo tiem-
po entretenernos, este soft se aproxima
bastante a su necesidad.
Los dos lados del cassette tienen preguntas
para practicar. El lado A comienza con
palabras básicas que a medida que avanza-
mos en el juego, se complican pues las
respuestas deberán ser frases como
HASN'T GOT por ejemplo.
Las preguntas que deberemos responder
son sobre las distintas pantallas que se
nos presenta.
Los gráficos tienen una combinación atrac-
tiva de colores que producen pantallas lla-
mativas. Lamentablemente este programa
no cuenta con efectos sonoros sobresa-
lientes.
Seremos evaluados con treinta y ocho pre-
guntas. Al finalizar el entretenimiento, ob-
tendremos el resultado del interrogatorio.
El lado B del cassette es un poco más entre-
tenido, aunque también más difícil. Nos en-
contramos en el interior de un castillo del
que debemos tratar de escapar. Pero como
primera dificultad, hay un extraterrestre que
nos persigue y está identificado con el color
verde. Este extraterrestre nos perseguirá
constantemente. Y si consigue atraparnos
tres veces, nos matará.
Pero lo más interesante de ese software es
que nos hará adivinanzas que deberemos
responder si queremos escapar.
Contamos con algunos recursos que nos
ayudarán a huir del extraterrestre como, por
ejemplo, transformarnos en invisibles.
Al comienzo del programa tenemos las ex-
plicaciones del manejo del juego.
u
mica ae uorus
Este pequeño libro de 702 páginas ape-
nas, es como la gran biblia del MSX.
Tiene casi todo lo que tienen los de-
más libros de la misma clase, es decir
que es una especie de compendio de
todos los demás.
Por otra parte, no escapa a la temática
que se usa en ellos: enseña clara y efi-
cientemente cada uno de los puntos
destacables y originales que el sistema
MSX posee.
Según la misma contratapa, el libro
cubre todo lo que se necesita saber so-
bre MSX, desde el BASIC al Sistema-
Operativo, de forma exhaustiva pero
con un estilo conciso, estando eficaz-
mente estructurado para que se pueda
utilizar de forma práctica como manual,
de consulta y referencia constantes o
para aprender o programar y manejar
con destreza cualquier micro MSX.
A pesar de esto, éste no es un manual
para aprender a programar en BASIC.
Posibilita además conocer el funcio-
namiento y manejo de los chips que
habitan dentro de la carcasa de la má-
quina.
Al final del libro se describe detallada-
mente el sistema operativo MSX: ins-
trucciones RST, puntos de entrada y
salida, BIOS y vectores.
En fin, es un libro muy completo y re-
comendable como obra de consulta
permanente.
Para comunicarse con noso-
tros deben escribimos a Re-
vista para usuarios de MSX,
Paraná 720, 5to. Piso, (1017)
Cap. Federal.
próximas entregas veremos
este tema detalladamente,
pues es amplio y requiere de
ciertas consideraciones pre-
vias.
De todos modos aquí van al-
gunas de las posiciones de
memoria que corresponden
al comienzo de las rutinas
que se encargan de controlar
este periférico.
Así que a cada una de ellas
deberemos llamarlas con un
CALL.
Dirección: El
Función: Hace que el motor
comience a f uacionar y lee el
encabezamiento del progra-
ma.
Hay que tener en cuenta que
una llamada a esta rutina,
modificará todos los regis-
tros.
Esta rutina devolverá un 1 en
el bit de acarreo si se pulsa
CTRL- STOP.
Dirección: E4
Función: Hace que los datos
entren desde la cinta. Este
dato quedará en el acumula-
dor.
También modifica los regis-
tros.
Dirección: E7
Función: Detiene la lectura
de datos desde el cassette.
Dirección: EA
Función: Graba el encabeza-
miento de un programa. Si el
encabezamiento es corto, el
acumulador debe contener
un 0 antes de llamarlo. Otro
valor significará que el enca-
bezamiento es largo.
Dirección: ED
Función: Graba el dato con-
tenido en el acumulador en
cinta.
Dirección: FO
Detiene el flujo de datos des-
de la máquina hacia el gra-
bador.
Dirección: F3
Función: Acciona el motor
del grabador.
Peek
He leído en algunos progra-
mas que han publicado, el uso
de la instrucción PEEK y co-
mo no tengo aún conocimien-
tos sólidos de programación,
que espero algún día tener,
me gustaría que me expliquen
para qué se utiliza en los
programas.
Jorge Urdanivia. Capital
Load MSX
Esta instrucción se utiliza
cuando queremos leer algu-
na posición de memoria de
nuestra computadora. La
forma de esta instrucción
(como lo indica el manual)
es: PEEK (n) y leer el valor
existente en la posición n.
MSX Guía del programador
y manual de referencia
Load MSX
direcciones
Ante todo quiero felicitarlos
por su publicación, me parece
fantástica. Actualmente es-
toy comenzando a aprender el
Assemb/er del Z80 y quisiera
acceder desde este lenguaje
al manejo de información de
cassette.
Alicia Colombo. La Plata.
Load MSX
Agradecemos las felicitacio-
nes y esperamos seguir sa-
tisfaciendo las necesidades
de nuestros lectores.
Con respecto al pedido, en
Autor:
T. Sato
P. Mapstone
I. Muriel
Editorial:
Anaya
Multimedia
Computación,
una oportunidad para que
todos enseñen y aprendan.
Un lugar para
desarrollar el pensamiento.
descubrir una vocación.
manejar lenguajes de
computación.
comprender los múltiples usos
de un computador.
capacitar y perfeccionar al
docente.
incorporar los avances
tecnológicos.
que el profesional domine el
uso de nuevas herramientas.
que los padres se reencuentren
con sus hijos.
“No se trata solamente de
adquirir en forma puntual
conocimientos definitivos,
sino prepararse a elaborar a lo
largo de toda la vida, un saber
en constante evolución y de
aprender a ser.”
UNESCO
Actividades '86
Para Niños, Adolescentes,
Adultos, Docentes,
Profesionales y
Establecimientos educativos.
INTRODUCCION A
MICROCOMPUTADORES
DIAGRAMACION
ESTRUCTURADA
LOCO
BASIC
COLOR - SPRITE - SONIDO
COBOL
PASCAL
ASSEMBLER
MS - DOS Y MSX - DOS
DBASE II -MULTIPLAN
PROCESADOR DE LA PALABRA
INSTALACION DE
LABORATORIOS
en Establecimientos educativos
con formación de multiplicadores
y apoyo a la comunidad.
Cómo?
• Taller en grupos de 12 a 15
personas.
• Clases de 2 horas diarias.
• 2 ó 3 alumnos por equipo.
• Equipos disponibles para
prácticas adicionales en horarios
libres.
• Becas rentadas en el
Departamento de investigación
y desarrollo de Talent MSX.
• Becas rentadas para
docentes en Laboratorios
de Establecimientos Educativos.
Informes, Inscripción y Cursos
Lunes a Viernes de 8 a 22 hs.
Sábados de 8 a 13 hs.
CENTRAL:
Cabildo 2027 - 1er. Piso y
Juramento
FILIALES:
Centro: Esmeralda 320 - 5 o P.
Lanús: Caaguazú 2186 - L. Este
Talent/®
Inteligencia en crecimiento.
o
QJ
O
15
TD
Cedei
Centro para
el desarrollo de
la inteligencia.
Descubramos y construyamos juntos los ^
caminos que nos permitirán el uso inteligente o
de los productos de la creatividad humana. 2.
n
o/
ru
t r
DISTRIBUIDORES AUTORIZADOS: CAPITAL FEDERAL: AMATRIX, Bolívar 173 - ARGECINT. Av. de Mayo 1402 - BAIDAT COMPUTACION, Juramento 2349 - COMPUPRANDO. Av. de
Mayo 965 - COMPUSHOP, Córdoba 1464 - COMPUTIQUE, Córdoba 1111, E. P. - COMPUTRONIC, Viamonte 2096 - CP67 CLUB. Florida 683, L. 18 - DALTON COMPUTACION.
Cabildo 2283 - ELAB. Cabildo 730 - MICROSTAR. Callao 462 - Q.S.P.. Bartolomé Mitre 864 - SERVICIOS EN INFORMATICA. Paraná 164 - DISTRIBUIDORA CONCALES. Tucumán
1458 - MICROMATICA. Av Pueyrredón 1135 - ACASSUSO: MICROSTAR ACASSUSO, Eduardo Costa 892 - AVELLANEDA: ARGOS. Av. Mitre 1755 - BOULOGNE: COMPUTIQUE
CARREFOUR Bernardo de Irigoyen 2647 - CASTELAR: HOT BIT COMPUTACION, Carlos Casares 997 - LANUS: COMPUTACION LANUS, Caaguazú 2186 • LOMAS DE ZAMORA:
ARGESIS COMPUTACION Av Meeks 269 - MARTINEZ: VIDEO BYTE. Hipólito Yrigoyen 32 - RAMOS MEJIA: MANIAC COMPUTACION. Rivadavia 13734 - SAN ISIDRO: FERNANDO
CORATELLA Cosme Beccar 249 - VICENTE LOPEZ: SERVICIOS EN INFORMATICA, Av del Libertador 882 - BAHIA BLANCA: SERCOM. Donado 327 - SUMASUR, Alsma 236 • LA
PLATA: CADÉMA, Calle 7 N° 1240 - CERO-UNO INFORMATICA, Calle 48 N° 529 - MAR DEL PLATA: FAST, Catamarca 1 755 - NECOCHEA: CAFAL, Calle 57 N° 2920 - SERCOM. Calle 57
N° 2216 - TRENQUE LAUQUEN: COMPUQUEN, Villegas 231 - CORDOBA: AUTODATA, Pasaje Santa Catalina 27 -TECSIEM. Santa Rosa 715 - ROSARIO: 2001 COMPUTACION. Santa
Fe 1468 - MINICOMP Maipú 862 - SISOR, Urquiza 1062 - SANTA FE: ARGECINT, P. San Martin 2433. L. 36 - SISOR, Rivadavia 1062 - INFORMATICA, San Gerónimo 2721/25 -
VILLA MARIA: JUAN CARLOS TRENTO. 9 de Julio 80 - MENDOZA: INTERFACE. Sarmiento 98 - BIT & BYTE. 9 de Julio 1030 - COMODORO RIVADAVIA: COMPUSER, 25 de Mayo 827 -
GENERAL ROCA: DISTRIBUIDORA VECCHI, 25 de Mayo 762 - LA PAMPA: MARINELLI. Pellegrini 155 - NEUQUEN: MEGA, Perito Moreno 383 - EDISA, Roca esq. Fotheringham - RIO
GRANDE: INFORMATICA M & B, Perito Moreno 290 - SAN CARLOS DE BARILOCHE: L. ROBLEDO & ASOCIADOS. Eltein 13, Piso 1° - TRELEW: SISTENOVA, Sarmiento 456 -
PARANA: MARIO GARCIA. Laprida y Santa Fe - POSADAS: CENTRO DE COMPUTOS ELDORADO. Colón 2429 - RESISTENCIA: FRANCO SANTI. Carlos Pellegrini 761 - SAN
SALVADOR DE JUJUY- DELTA COMPUTACION, Salta 1108 - SALTA: DELTA COMPUTACION, Caseros 873 - SAN MIGUEL DE TUCUMAN: LEXICON. 9 de Julio 85 - ELECTRONICA
A la computadora personal
Talent
nada le es imposible
Porque gracias a la norma internacional MSX, la
TALENT MSX trasciende sus propios límites.
Hasta ahora, cuando usted compraba una
computadora personal de cualquier marca, quedaba
automáticamente desconectado del resto del mundo
de la computación. Porque los distintos equipos y
sistemas no eran compatibles entre sí.
Hasta que dos grandes empresas de informática,
la Microsoft Corp. de EE.Ull. y la ASCII del Japón se
pusieron de acuerdo para crear una norma standard:
la MSX. Que se expandió también rápidamente en
Europa. Y que hoy TALENT presenta por primera vez
en la Argentina.
Mientras que la mayoría de las computadoras de su tipo
que se ofrecen en el mercado nacional, han sido
discontinuadas por obsoletas en sus lugares de origen,
TALENT MSX tiene casi ilimitadas posibilidades
de desarrollo. Porque la norma MSX es en todo el
mundo inteligencia en crecimiento.
La TALENT MSX pone a su disposición un mundo de
software para elegir. Y con la incorporación de todos
sus periféricos llega a ser una auténtica computadora
profesional.
MSX es marca registrada de MICROSOFT CORPORATION
UTIL
Su poderoso sistema operativo MSX
permite el acceso a todo tipo de
procesamiento de datos:
• Planillas de calculo.
• Procesadores de palabra.
• Gráficos de negocios.
• Bases de datos (d Base II. etc.)
• Contabilidad general, sueldos, y
jornales, costos, etc . desarrollados
bajo CP/M en Basic. Coboi . Pascal o C
Con la posibilidad de conexión a linea
telefónica permite la transferencia y
consulta de datos entre computadoras
personales, profesionales o bancos de
datos.
La grabación de archivos es en formato
MS-DOS. haciéndola compatible con las
computadoras profesionales.
DIDACTICA
Dispone de tres lenguajes para ¡a
enseñanza de computación LOGO como
lenguaje de inducción para los mas
chicos. Lenguaje de Programación en
castellano, para todos los que quieran
aprender a programar sin conocimientos
previos V Basic MSX como lenguaje
profesional Mas una amplia variedad de
periféricos como el Mouse. Lápiz Optico.
Tableta gratica. Track-ball. etc.
DIVERTIDA
La mas genial para Video-Juegos. Por la
amplísima biblioteca de programas
-todos nuevos- de la norma MSX en el
mundo. Y ademas, el Basic MSX permite
al usuario generar sus propios juegos
con un manejo tan simple, como solo
TALENT MSX puede ofrecer
CARACTERISTICAS TECNICAS
• Memoria principal 64 KB ampliadle
hasta 576 KB. .
• Memoria de video: 16 KB RAM.
• ROM incorporada de 32 KB
con el MSX-Basic de Microsoft.
• Gráficos completos, hasta 32 sprites
y 16 colores simultáneos
• Generador de sonido de 3 voces
y 8 octavas
• Conexión para cualquier grabador.
• Interfaz para salida impresora paralela.
• Conectores para cartuchos
y expansiones
• Fuente para 220 V
y modulador PAL-N incorporado